Как добавить версию к моей docker сборке образа в рамках GitHub-действий? - PullRequest
0 голосов
/ 04 мая 2020

Используя 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.

...