我想从文件中读取版本号,并使用工作流创建标签
首先创建了一个VERSION文件。
创建了一个名为release-version.yml的工作流程。
v11.0.5.1.aws
。然后,我想在Docker镜像中使用该标签。
为此,我已经创建了一个名为devops的分支。首先创建了一个VERSION文件。
1.1.3 20 Apr, 2022
创建了一个名为release-version.yml的工作流程。
name: Release Version
on:
push:
branches:
- devops
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@master
- name: Bump version and push tag
uses: melheffe/version_release_composer@master
env:
PREPEND: 'v'
APPEND: '.aws' # must include '.' or it will append without separation
DRAFT: 'false'
PRERELEASE: 'true'
TOKEN: ${{ secrets.AUTH_TOKEN }}
TRIGGER: ${{ github.event.pull_request.base.ref }} # can use the triggering branch or define a fixed one like this: 'master'
REPO_OWNER: rohit
VERSION_FILE_NAME: 'VERSION'
然后创建了另一个名为ci.yml的工作流程,该工作流程将从release-version工作流程获取标签
name: CI
# Only trigger, when the build workflow succeeded
on:
workflow_run:
workflows: ["Release Version"]
types:
- completed
jobs:
# This workflow contains a single job called "build"
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
DeployDev:
# Steps represent a sequence of tasks that will be executed as part of the job
name: Deploy to Dev
needs: [Build]
runs-on: ubuntu-latest
environment:
name: Dev
steps:
- uses: actions/checkout@v2
with:
token: ${{ secrets.AUTH_TOKEN }}
- name: Build, tag, and push image to Amazon ECR
id: build-image
#env:
# IMAGE_TAG: ${{ github.sha }}
run: |
# Build a docker container and push it to ECR so that it can
# be deployed to ECS.
echo "$GITHUB_REF_NAME"
docker build -t ${{secrets.ECR_REPO_URI}}/${{secrets.REPO_NAME}}:$GITHUB_REF_NAME .
docker push ${{secrets.ECR_REPO_URI}}/${{secrets.REPO_NAME}}:$GITHUB_REF_NAME
我能够在devops分支上进行更改后触发发布版本工作流程,但是在触发发布版本后ci工作流程没有被触发。 任何建议对我都有帮助。
workflow_dispatch
或repository_dispatch
事件来触发第二个工作流程,并将 TAG 版本作为输入发送。这是一个选择吗?如果您愿意,我可以分享关于这两个选项的完整答案和一些参考资料。 - GuiFalourdworkflow_dispatch
,并提供相关输入。如果您打算使用Bash来调度工作流程,这是我所做的方式-https://github.com/unfor19/hero-action/blob/87eebe6c644fb03f294d70e2e76a98d757d900e3/entrypoint.sh#L117-L147 - Meir Gabay