我正在尝试构建 Android 应用程序,然后通过以下方式将工件上传到另一个服务器:
到目前为止,我有 2 个阶段build和deploy。因此,一旦构建成功并且工件上传,部署作业就会启动,它应该能够传入build工件的作业 ID(工件名称是全局变量),最终将卷曲我的 php 页面以启动下载。这是我的 gitlab ci 配置:
stages:
- buildRelease
- deploy
variables:
fileName: artifact-Name.apk
buildReleaseApp:
variables:
GIT_SUBMODULE_STRATEGY: recursive
before_script:
- chmod +x ./gradlew
- echo $setUpBuildScript | base64 -d > buildRelease.sh
- chmod +x prepareConfig.sh
stage: buildRelease
script:
- sh buildRelease.sh
only:
- tags
artifacts:
paths:
- app/build/outputs/apk/playstore/release/*.apk
after_script:
- mv app/build/outputs/apk/playstore/release/*.apk app/build/outputs/apk/playstore/release/${fileName}
deployReleaseApp:
variables:
dependencies:
- buildReleaseApp
stage: deploy
only:
- tags
script:
- echo $pushScript | base64 -d > deploy.sh
- sh deploy.sh
Run Code Online (Sandbox Code Playgroud)
一切都对我有用,除了 php 接收部署作业的 ID 并且当 php 尝试下载工件时build,它会抛出 404。
有没有办法将buildReleasestage的job ID传递给deployjob?
小智 8
这可以帮助...
after_script:
- echo "JOB_ID=$CI_JOB_ID" >> job.env
artifacts:
reports:
dotenv: job.env
Run Code Online (Sandbox Code Playgroud)
您可以在其他阶段访问此 job.env 并调用 $JOB_ID 来获取相关作业 ID 和状态
| 归档时间: |
|
| 查看次数: |
8946 次 |
| 最近记录: |