Используя GitHub-действия и следуя этому уроку https://dev.to/wingkwong/building-and-pushing-a-docker-image-to-amazon-ecr-with-github-actions-on0.
Ниже мой build.yml
, который строит мой код и pu sh изображение в AWS ECR, Это работает нормально, но теперь у меня есть проблема, когда я хочу, чтобы мои изображения были пересмотрены в ECR, чтобы я мог использовать переключение моего кода на основе версии моего docker изображения.
Ниже мой build.yml
name: Building and pushing a docker image to Amazon ECR
on: [push, pull_request]
env:
AWS_DEFAULT_REGION: ap-southeast-1
AWS_DEFAULT_OUTPUT: json
AWS_ACCOUNT_ID: ${{secrets.AWS_ACCOUNT_ID }}
AWS_ACCESS_KEY_ID: ${{secrets.AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{secrets.AWS_SECRET_ACCESS_KEY }}
CONTAINER_IMAGE: myimage:${{ github.sha }}
jobs:
build-and-push:
name: Building and pushing image to AWS ECR
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@master
- name: Setup ECR
run: |
$( aws ecr get-login --no-include-email )
- name: Build and tag the image
run: |
docker build -t $AWS_ACCOUNT_ID.dkr.ecr.$AWS_DEFAULT_REGION.amazonaws.com/$CONTAINER_IMAGE ./app
- name: Push
if: github.ref == 'refs/heads/master'
run: |
docker push $AWS_ACCOUNT_ID.dkr.ecr.$AWS_DEFAULT_REGION.amazonaws.com/$CONTAINER_IMAGE
Это всегда pu sh новое изображение на основе GitHub Sha, которое имеет формат crypti c, в то время как я хочу пометить свое docker изображение на основе выпустить версию номера приращения, такую как
mydockerimage:1.0
mydockerimage:1.1
mydockerimage:1.2
Таким образом, при каждом коммите к мастеру, он должен автоматически увеличивать младшую версию с 0 до 9 и, как только она достигнет 9, затем увеличивать основную версию и так далее, так что после 1.9, он должен быть помечен как 2.0, 2.1 и c.
Дайте мне знать, как выполнить этот небольшой скрипт для управления версиями в build.yml
действий Github.