我正在使用来自 jangrewe 的修改过的 Docker 映像来自动化构建。SDK 路径应该已经在 Docker 镜像中定义,ENV ANDROID_HOME "/sdk"但 GitLab 向我显示了这个错误:java.lang.RuntimeException: SDK location not found. Define location with sdk.dir in the local.properties file or with an ANDROID_HOME environment variable.
所以我修改了我的 .gitlab-ci.yml 文件,如下所示:
image: tbremer19/wercker-container-android
before_script:
- export ANDROID_HOME="/sdk"
build:
script:
- chmod 777 *
- sudo ./gradlew assembleBetaDebug --stacktrace
artifacts:
paths:
- app/build/outputs/apk/app-beta-debug.apk
Run Code Online (Sandbox Code Playgroud)
但仍然收到此错误。你们中有人经历过吗?我试图将 ANDROID_HOME 设置为环境变量两次,但显然这没有帮助......
continuous-integration android gitlab gitlab-ci gitlab-ci-runner
这是我的 .gitlab-ci.yml
stages:
- build
- unit_test_1
- unit_test_2
- perf_test
job1:
stage: build
script:
- bash build.sh
allow_failure: true
job2:
stage: unit_test_1
script:
- bash ./all/deployment/testframwork/unit_test_1.sh
allow_failure: true
Run Code Online (Sandbox Code Playgroud)
这里build.sh创建一个构建并将所有二进制文件存储在构建目录中。但是在 job1 完成后,这个目录正在删除。
但是我正在使用该目录来运行我的第二份工作。
我怎样才能做到这一点?
我有错误
错误:ChromeDriver 未在 5000 毫秒内启动
在我的特定 GitLab CE 运行器上,尝试使用 Spectron 测试 Electron 应用程序时。
错误堆栈是:
1) Test Example "before each" hook for "opens a window":
Error: ChromeDriver did not start within 5000ms
at Error (native)
at node_modules/spectron/lib/chrome-driver.js:63:25
at Request._callback (node_modules/spectron/lib/chrome-driver.js:120:23)
at self.callback (node_modules/request/request.js:186:22)
at Request.onRequestError (node_modules/request/request.js:845:8)
at Socket.socketErrorListener (_http_client.js:310:9)
at emitErrorNT (net.js:1278:8)
at _combinedTickCallback (internal/process/next_tick.js:74:11)
at process._tickDomainCallback (internal/process/next_tick.js:122:9)
2) Test Example "after each" hook for "opens a window":
Error: Application not running
at Error (native)
at Application.stop (node_modules/spectron/lib/application.js:56:48)
at Context.<anonymous> (test/startup/title-test.js:33:20) …Run Code Online (Sandbox Code Playgroud) 我以一种直接的方式(cmake、make、make test)为 linux 设置了 gitlab-ci-runner。这是它的大致外观:
variables:
GIT_SUBMODULE_STRATEGY: recursive
stages:
- build
- test
build:
stage: build
script:
- cd build
- sh createBuildScripts.sh
- cd release
- make
- cd ../..
artifacts:
untracked: true
only:
- master
# run tests using the binary built before
test:
stage: test
script:
- cd build
- cd release
- make test
only:
- master
Run Code Online (Sandbox Code Playgroud)
由于 Visual Studio 2017 内置了 cmake 支持,我想知道现在是否有类似的简单解决方案可用于 Windows?
我创建了一个 docker 注册表并希望将它与 GitLab 连接。我遵循了这个文档https://docs.gitlab.com/ce/user/project/container_registry.html。之后我尝试登录 docker,但收到 401 或访问被拒绝,你知道如何解决这个问题吗?
docker login url
Username: gitlab-ci-token
Password:
https://<url>/v2/: unauthorized: HTTP Basic: Access denied
docker login <url>
Username: knikolov
Password:
https://<url>/v2/: unauthorized: HTTP Basic: Access denied
docker login <url>
Username: knikolov
Password:
Error response from daemon: login attempt to https://<url>/v2/ failed with status: 401 Unauthorized
Run Code Online (Sandbox Code Playgroud)
生产日志
Started POST "/api/v4/jobs/request" for 172.17.0.1 at 2017-06-22 14:42:51 +0000
Started POST "/api/v4/jobs/request" for 172.17.0.1 at 2017-06-22 14:42:54 +0000
Started POST "/api/v4/jobs/request" for 172.17.0.1 at 2017-06-22 14:42:57 …Run Code Online (Sandbox Code Playgroud) 现在有几次,在不同的项目中,似乎在 CI 过程中完全不相关的地方,在管道作业/构建的中途,它只会失败,在日志末尾打印:
“错误:作业失败(系统故障):中止:终止”
我找不到任何关于导致这种结果的原因的参考。任何想法为什么会间歇性地发生,或者如何缩小原因?
我有一个 gitlab-runner 图像如下:
文件
FROM alpine:3.6
RUN apk add --no-cache curl bash
COPY trigger-jenkins /usr/local/bin/trigger-jenkins
ENTRYPOINT ["/bin/bash"]
Run Code Online (Sandbox Code Playgroud)
它的目的是触发 Jenkins 作业。运行这个:
docker run -ti jenkins-runner:latest trigger-jenkins job_name
Run Code Online (Sandbox Code Playgroud)
工作得很好。但是当我尝试通过以下方式做同样的事情时:
.gitlab-ci.yml
Jenkins Trigger:
script:
- trigger-jenkins job_name
tags:
- Jenkins
Run Code Online (Sandbox Code Playgroud)
管道失败是这样的:
Running with gitlab-ci-multi-runner 9.3.0 (3df822b)
on Jenkins Trigger (12475d61)
Using Docker executor with image jenkins-runner:latest ...
Using docker image sha256:44dedf0b3485e0e57107e2745739e1a252fb64c4161465e1b5ccc1119a1183bf for predefined container...
Using docker image jenkins-runner:latest ID=sha256:4760a8ef9139ee9c9a56c686de780fc49e176fe4294e1f0db4f431e117b6811c for build container...
Running on runner-12475d61-project-6-concurrent-0 via cc960a3794a0...
Cloning repository...
Cloning into '/builds/dev/Project'...
Checking …Run Code Online (Sandbox Code Playgroud) 目前,我有两个主要项目。
1-) Vue 项目,其中包含(IOS 和 Android 的 webviews、网站和我们 Electron 的渲染器),它们共享组件和 API。
2-) 为(windows、darwin、linux)构建桌面应用程序的电子项目
我想自动化我们的构建、发布过程。我目前的设置..
before_script:
- apt-get update
- apt-get install zip unzip
- rm -rf vue-project
- git clone vue-project
- cd vue-project
- git checkout dev
- git pull
- sed -i "/\b\(areaCode\|inline-svg-loader\)\b/d" ./packages/devtool/package.json
- yarn install
- ln -s vue-project/packages/desktop/ web
- npm install
build_darwin:
stage: build
script:
- npm run package -- darwin --deploy
cache:
paths:
- vue-project/node_modules
- node_modules
Run Code Online (Sandbox Code Playgroud)
基本上在捆绑电子项目之前,它会克隆 vue-project 安装依赖项并捆绑电子渲染器,然后在完成时。我正在运行包。
我想将这两个不同的工作分开。无论如何我可以使用来自不同项目 gitlab-CI 管道的工件吗? …
continuous-integration gitlab gitlab-ci gitlab-ci-runner electron
我在网上搜索了 2 周以来的解决方案,我真的需要一些帮助。
我面临3个问题:
我一直在试图安装gilab亚军的所有方面(GitLab的官方资料库,manualy,码头工人)。
每次,当我启动命令“gitlab-runner status”时,答案总是“服务器没有运行”。我已经尝试了一百万次卸载该服务并重新安装它,但我不想工作。我已经注册了所有类型的跑步者,并且有/没有 sudo 用户。没有任何成功。这是我的设置服务器:
Ubuntu 16.04.1
Docker 容器 gitlab 9.4.3
港口:
gitlab-runner 9.5.0
注册一个shell runner http://192.168.1.10:8088/
启动命令“sudo service gitlab-runner status”
已加载:已加载(/etc/systemd/system/gitlab-runner.service;已启用;供应商预设:已启用)活动:自 ven 以来激活(自动重启)(结果:退出代码)。2017-08-25 15:17:45 CEST;45s前进程:13201 ExecStart=/usr/bin/gitlab-ci-multi-runner run --working-directory /home/gitlab-runner --config /etc/gitlab-runner/config.toml --service gitlab-runner --syslog --user gitlab-runner (code=exited, status=1/FAILURE) Main PID: 13201 (code=exited, status=1/FAILURE)
systemd 1 : gitlab-runner.service: 单元进入失败状态。systemd 1:gitlab-runner.service:失败,结果为“退出代码”。
由于我在 Linux 中安装 gitlab-runner 的问题,我尝试在 …
我已经建立了一个 GitLab 管道,并配置了一个跑步者。构建在我提交时开始,但几乎立即失败并显示以下消息:
C:\GitLabRunner\builds\xxxxxxxx\0\cmac\portal>"git" "checkout" "-f" "-q"
"xxxxxxxxxxxxxxxxxxxxxxxxx"
'"git"' is not recognized as an internal or external command,
operable program or batch file.
C:\GitLabRunner>IF 9009 NEQ 0 exit /b 9009
ERROR: Job failed: exit status 9009
Run Code Online (Sandbox Code Playgroud)
这是我的 .gitlab-ci.yml,我已将其剥离以尝试隔离问题:
stages:
- build
variables:
CI_DEBUG_TRACE: "true"
Build:
stage: build
script:
- Echo OK
Run Code Online (Sandbox Code Playgroud)
当我尝试在标准命令提示符中使用 git 时在 a 中收到相同的消息时,我以为我已经解决了这个问题,因为我的 PATH 没有在环境变量中正确设置。
但是我现在已经解决了这个问题,我通过命令提示符从 git 得到了预期的响应,但是当 gitlab 开始构建时我仍然遇到问题。
有任何想法吗?