问题标签 [gitlab-ci.yml]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
gitlab - .gitlab-ci.yml yaml 中的数组变量
我想在我的 gitlab ci/cd yml 文件的变量中使用数组,如下所示:
但 Lint 告诉我文件不正确:
我试过下一个:
但是构建失败并打印出 bash 错误:
有没有办法在 .gitlab-ci.yml 文件中使用数组变量?
yaml - 仅适用于“主”和“标签”的 GitLab 规则
我正在寻找一种解决方案来执行 CI/CD 作业master
,tags
但同时我想检查是否Dockerfile
存在,这需要使用rules
我想达到什么
我只想为特定的标记符号构建 Docker 映像,master
并且tags
不受限制。我曾经能够通过only
gitlab-ci.yml
然而不幸的是,only
我不得不放弃对“Dockerfile”的检查,所以我切换到rules
.
有问题rules
但是,问题rules
在于,到目前为止,在这里找到解决方案的唯一方法是使用正则表达式。这极大地限制了标签的约定。
在我的例子中
0-9.0-9.0-9
其他符号将被禁止,1.0.0.1 或 1.0.0-alpha,必须为每个项目单独定义和实施。
有没有更优雅的处理方式?
编辑:
无法if: $CI_COMMIT_TAG =~ "/[0-9].[0-9].[0-9]/g"
正常工作
gitlab - 当只有降价更改时,有没有办法跳过管道?
目标
发布管道应该启动特定分支的部署。如果只有文档更改,则
不应发生这种情况(跳过工作) 。(文件)*.md
问题
如果您更改了多个文件,但只有一个文件以 结尾
.md
build
,则仍会跳过该作业。该作业不会针对任何文件运行。
https://docs.gitlab.com/ee/ci/jobs/job_control.html#onlychanges--exceptchanges-examples
那么,是否甚至可以指定上述规则?
到目前为止我尝试了什么(摘录)
那么,如果"*.md"
不起作用,是否可以恢复它?
"**/!(*.md)" # Every file except *.md
这不会执行任何操作
这总是执行
问题
我必须使用自定义变量来解决这个问题还是有更简单的方法?
gitlab - 如何在 Gitlab 管道中运行 Specflow 测试用例以实现 CI/CD 实施
我想实现 CI/CD,这样每当开发团队在他们的构建中提交任何更改时,我的整个自动化套件就会在构建和部署之前运行。
我在 GitLab 中有 yml 文件,在 Visual Studio 中有自动化测试用例脚本(C# 中的 Specflow 框架)。
请在下面找到 yml 文件:
但是我的工作没有实际执行项目中的任何测试用例就通过了
我尝试在路径中进行许多更改,但都没有成功。我是不是走错路了?谁能帮我解决这个问题?如果 yml 文件完全错误,那么有人可以指导我吗?提前致谢!!!:)
PS:我在提交之前验证了 yml,并且 ymlvalidator 将其显示为正确的 yml 文件。
gitlab - Git 创建了一个额外的文件,最后附加了我的机器名称
我刚刚更改了一个文件并成功提交并推送它,从那个角度来看一切都很好,但是当我回到主分支时,它似乎创建了一个额外的 yaml 文件......与那个完全相同我刚刚推送,但这次它的末尾附加了我的机器名称......
它开始看起来像这样。gitlab-ci-yml
....但它现在创建了一个名为 . gitlab-ci-mikeslaptop.yaml
在同一个文件夹中......和豪华的 git 说 [master = +1 ~0 -0 !]
和 git 说untracked files (use "git add ,file>..." to include in what will be committed) .gitlab-ci-mikeslaptop.yaml
以前有没有人见过这种行为..我在盯着看,但什么也没找到。感激地收到任何帮助
amazon-ec2 - 将战争文件从 GitLab 复制到 EC2
我正在尝试创建一个 CI/CD 管道来构建战争文件并将其从 GitLab 部署到 EC2。
创建war文件后,我想将其复制到EC2中的某个文件夹,以便从那里将其复制到tomcat服务器。
以下是“.gitlab-ci.yml”文件。
我添加了 AWS_ACCESS_KEY_ID 和 AWS_SECRET_KEY 变量。但是当上述管道运行时,在部署阶段 scp 命令给出“权限被拒绝”错误。关于如何解决这个问题的任何想法?
错误信息:
谢谢你。
ssh - 无法停止、删除战争文件并使用 SSH 启动 tomcat
我正在尝试开发一个 GitLab 管道以将战争文件部署到 EC2 tomcat 中。我正在成功地将战争文件移动到 EC2 到文件夹 home/ec2-user。从那里我试图将战争文件复制到 home 之前的 tomcat8/webapps 文件夹(主文件夹级别)。
我正在使用以下代码,但在尝试关闭或启动服务器时会抛出类似“没有这样的文件或目录”的错误。
以下是错误。(如果我在 EC2 实例中手动运行上述步骤,它们工作正常)。
谁能帮我解决我在这里犯的错误?谢谢你。
docker - 为什么赛普拉斯服务失败?
下面是我的管道,我试图让 Cypress 工作来运行针对 Nginx 服务(指向主应用程序)的测试,该服务是在build
阶段构建的 下面基于来自这里的官方模板https://gitlab.com /cypress-io/cypress-example-docker-gitlab/-/blob/master/.gitlab-ci.yml
:
错误输出:
这个设置有什么问题?