真的不明白如何在 gitlab 中设置每日调度程序。我有一个简单的应用程序,我需要每天早上 8 点自动构建它。我尝试了以下https://gitlab.com/help/ci/triggers/README.md,但我不明白如何运行这个 crone 作业?
30 0 * * * curl --request POST --form token=TOKEN --form ref=master https://gitlab.example.com/api/v3/projects/9/trigger/builds
Run Code Online (Sandbox Code Playgroud)
这也是不可接受的http://cloudlady911.com/index.php/2016/11/02/how-to-schedule-a-job-in-gitlab-8-13/
因为我必须从管道手动运行它。
有什么解决办法吗?
我得到了以下环境和设置:
我怎样才能实现:
这个问题是基于我当前的设置,出现了以下问题
或者有其他解决方案可以让我实现我的计划吗?
我对 Docker 和 Gitlab 的有争议的集成非常陌生。
\n\n我遇到的情况是,我的脚本.gitlab-ci.yml需要使用 ioncube 对文件进行编码,但由于 Docker 设置了一些安全限制,现在完全可以这样做。因此,我需要修改docker run当我为我的 Gitlab 项目启动作业时 Gitlab 运行的命令。
根据此页面...
\n\n\n\n\n此外,需要更改容器上的 Docker 安全选项,才能通过使用 docker run 命令的 \xe2\x80\x93security-opt seccomp:unconfined 选项来运行许可过程。
\n
我需要在调用中添加额外的参数docker run,但由于 Gitlab 在某个地方这样做了,我不知道如何继续。
\xe2\x80\x93security-opt seccomp:unconfined有没有办法让我在运行作业时包含 Gitlab ?
编辑:我在自己的服务器上托管 Gitlab。
\n我有一个项目需要能够使用Git 存储库中的相同文件通过 Linux或Windows 上的 Gitlab-Runner 进行构建。.gitlab-ci.yml这是一个简单的构建,我只想使用shell执行器。
问题在于bash (Linux) 中设置环境变量的语法与cmd (Windows)不同。一个使用export另一个set。
config.toml如何设置我的环境而不需要在每个跑步者上设置不同的环境?(在修改 时,这在 Linux 上似乎也有问题$PATH,但这是另一个问题。)
在GitLab CI上使用并行 Gradle作业:
我收到以下随机 Gradle异常:
FAILURE: Build failed with an exception.
* What went wrong:
Could not create service of type ScriptPluginFactory using BuildScopeServices.createScriptPluginFactory().
> Could not create service of type ResourceSnapshotterCacheService using GradleUserHomeScopeServices.createResourceSnapshotterCacheService().
Run Code Online (Sandbox Code Playgroud)
我使用没有任何GitLab CIdocker缓存的执行器。我使用Docker卷,而Gradle缓存指向该卷:gitlab-runner
FAILURE: Build failed with an exception.
* What went wrong:
Could not create service of type ScriptPluginFactory using BuildScopeServices.createScriptPluginFactory().
> Could not create service of type ResourceSnapshotterCacheService using GradleUserHomeScopeServices.createResourceSnapshotterCacheService().
Run Code Online (Sandbox Code Playgroud)
目录的访问权限没有问题/pipelines …
我正在尝试使用他们共享的 Runners 运行 GitLab 的工作,
我创建了一个.gitlab-ci.yml并将其保存在我的项目根目录中,将
AWS 凭据配置为环境变量 -
AWS_ACCESS_KEY_ID
AWS_SECRET_ACCESS_KEY
AWS_DEFAULT_REGION
Run Code Online (Sandbox Code Playgroud)
在下面 Settings -> CI / CD -> Variables

仔细检查了我试图构建的分支是 protected
以下是我的 .gitlab-ci.yml -
stages:
- build
build:
image: python:latest
stage: build
script:
- apt-get update
- apt-get install -y zip unzip
- pip install awscli
- mkdir ~/.aws/
- touch ~/.aws/credentials
- pip install awscli
- printf "[eb-cli]\naws_access_key_id = %s\naws_secret_access_key = %s\nregion = %s\n" "$AWS_ACCESS_KEY_ID" "$AWS_SECRET_ACCESS_KEY" "$AWS_DEFAULT_REGION" >> ~/.aws/credentials
- bash cicdScript.sh
Run Code Online (Sandbox Code Playgroud)
CICD 脚本具有 aws 命令 …
我正在测试 gitlab ci/cd 并且我正在尝试构建一个签名的 APK,但我的脚本失败了。我应该更改或添加什么?
我添加了变量 KEYSTORE_FILE、KEYSTORE_PASSWORD、KEY_ALIAS、KEY_PASSWORD 的值。
assembleRelease:
stage: release
script:
- echo $KEYSTORE_FILE | base64 -d > my.keystore
- ./gradlew assembleRelease
-Pandroid.injected.signing.store.file=$(pwd)/my.keystore
-Pandroid.injected.signing.store.password=$KEYSTORE_PASSWORD
-Pandroid.injected.signing.key.alias=$KEY_ALIAS
-Pandroid.injected.signing.key.password=$KEY_PASSWORD
artifacts:
paths:
- app/build/outputs/apk/release
Run Code Online (Sandbox Code Playgroud)
错误:
FAILURE: Build failed with an exception.
What went wrong:
Execution failed for task ':app:packageRelease'.
1 exception was raised by workers:
java.lang.RuntimeException:
com.android.ide.common.signing.KeytoolException: Failed to read key from
store "/builds/juantamad.02072019/2019_samplebuild/my.keystore": null
Run Code Online (Sandbox Code Playgroud)
但是应该可以成功
我有以下用于在合并请求上启用管道的配置。我希望此管道仅在对少数特定分支的合并请求时运行。例如:“release/some-xyz-branch”和“develop”分支。怎么做 ?
test_job:
stage: test
only:
- merge_requests
script:
- npm run test
Run Code Online (Sandbox Code Playgroud)
我尝试在“-merge_requests”之后添加分支名称,如下所示,但它没有按预期工作。
test_job:
stage: test
only:
- merge_requests
- develop
- release/some-xyz-branch
script:
- npm run test
Run Code Online (Sandbox Code Playgroud) git continuous-integration gitlab gitlab-ci gitlab-ci-runner
我是 GitLab 的新手,不确定这是否可行,我已经在本地设置了 GitLab 并正在运行,还有 Artifactory 私人存储库。
我总是使用 DinD 配置,使用 Docker 作为带有 DinD 服务的主映像,然后在各个阶段登录并从私有存储库中提取不同的映像。
但我听说没有 DinD 也可以做到这一点,从而缩短执行时间。所需的图像是在阶段开始时拉取的。
而不是这个:
image: docker:latest
services:
- docker:18.09.8-dind
variables:
DOCKER_DRIVER: overlay2
DOCKER_HOST: tcp://localhost:2375
stages:
- run_script
run_script:
stage:
run_script
script:
- docker login -u $DOCKER_TECHNICAL_USER -p $DOCKER_TECHNICAL_USER_PASSWORD $DOCKER_REGISTRY_URL
- docker pull artifactory.example.com:5000/repo/powershell-core:6.3
- docker run -it artifactory.example.com:5000/repo/powershell-core:6.3 pwsh -command "get-process"
Run Code Online (Sandbox Code Playgroud)
我想这样做(整个yml):
stages:
- run_script
run_script:
before_script:
- docker login -u $DOCKER_TECHNICAL_USER -p $DOCKER_TECHNICAL_USER_PASSWORD $DOCKER_REGISTRY_URL
image: artifactory.example.com:5000/repo/powershell-core:6.3
stage:
run_script
script:
- pwsh -command "get-process"
Run Code Online (Sandbox Code Playgroud)
如果我尝试这样做,它会说它无法进行身份验证:
ERROR: …Run Code Online (Sandbox Code Playgroud) continuous-integration gitlab gitlab-ci gitlab-ci-runner devops
我们拥有完全配置且运行完美的企业 gitlab 服务器。现在我尝试在上面使用 CI/CD。
1. 我们的系统管理员在公司网络上给了我一个安装了 ubuntu 20.04 的虚拟服务器。
2.我阅读(并理解)有关安装和配置 gitlab runner、docker 引擎、docker machine、docker hub、virtualbox 软件的文档。
3.我在虚拟服务器上安装了Gitlab Runner。
4. 我使用“shell”类型注册运行程序
5. 使用此.gitlab-ci.yml文件创建一个项目:
test_variable:
before_script:
- docker info
- docker run --rm hello-world
stage: test
script:
- echo $CI_JOB_STAGE
- ls -la
- tree
Run Code Online (Sandbox Code Playgroud)
Running with gitlab-runner 11.2.0 (11.2.0)
on docker-runner zQ6fuswY
Using Docker executor with image ubuntu …Run Code Online (Sandbox Code Playgroud) continuous-integration gitlab docker gitlab-ci gitlab-ci-runner