gpt4 book ai didi

continuous-integration - 不是使用CircleCI构建的标签发布

转载 作者:行者123 更新时间:2023-12-04 04:28:36 24 4
gpt4 key购买 nike

我正在使用CircleCI来构建项目,一切运行正常,除了推送到github时未构建我的标签之外:

我不明白为什么,我已经将整个配置简化为一个简约的配置文件,这是相同的逻辑:

version: 2

jobs:

my_dummy_job_nightly:
working_directory: ~/build
docker:
- image: docker:git
steps:
- checkout
- setup_remote_docker:
reusable: true
exclusive: true

- run:
name: NIGHTLY BUILD
command: |

apk add --update py-pip
python -m pip install --upgrade pip

my_dummy_job_deploy:
working_directory: ~/build
docker:
- image: docker:git
steps:
- checkout
- setup_remote_docker:
reusable: true
exclusive: true

- run:
name: RELEASE BUILD
command: |

apk add --update py-pip
python -m pip install --upgrade pip

###################################################################################
# CircleCI WORKFLOWS #
###################################################################################

workflows:
version: 2
build-and-deploy:
jobs:

###################################################################################
# NIGHTLY BUILDS #
###################################################################################

- my_dummy_job_nightly:
filters:
tags:
ignore: /.*/
branches:
only: master


###################################################################################
# TAGS BUILDS #
###################################################################################

- hold:
type: approval
filters:
tags:
only: /.*/
branches:
ignore: /.*/

- my_dummy_job_deploy:
requires:
- hold
filters:
tags:
only: /.*/
branches:
ignore: /.*/

我不明白为什么标记无法构建...正则表达式应该让所有内容通过...

最佳答案

我终于找到了问题。与配置无关,CircleCI界面不会在工作流界面中显示标记生成,因此approval操作会阻止整个过程。

要访问工作流程并批准部署,您必须单击内部版本并单击工作流程(如下所示):

enter image description here

一旦进入工作流程,就可以批准该过程:

enter image description here

我发现使构建出现的唯一解决方案是在构建过程中创建一个虚拟且无用的步骤,该步骤将在批准之前出现。

version: 2

jobs:

init_tag_build:
working_directory: ~/build
docker:
- image: docker:git
steps:
- checkout
- setup_remote_docker:
reusable: true
exclusive: true

- run:
name: Launch Build OP
command: |
echo "start tag workflow"

my_deploy_job:
working_directory: ~/build
docker:
- image: docker:git
steps:
- checkout
- setup_remote_docker:
reusable: true
exclusive: true

- run:
name: DEPLOY BUILD
command: |
echo "do the deploy work"

workflows:
version: 2
build-and-deploy:
jobs:

- init_tag_build:
filters:
tags:
only: /.*/
branches:
ignore: /.*/

- hold:
type: approval
requires:
- init_tag_build
filters:
tags:
only: /.*/
branches:
ignore: /.*/

- my_deploy_job:
requires:
- hold
filters:
tags:
only: /.*/
branches:
ignore: /.*/

关于continuous-integration - 不是使用CircleCI构建的标签发布,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50650254/

24 4 0