Tag: gitlab ci runner

GitlabCI运行docker审查应用程序

我有几个具有类似要求的PHP应用程序,dockerized gitlab亚军和一个泊坞窗图像为我的应用程序。 什么是自动启动审查应用程序的最佳解决scheme? 我开始与连接docker.sock亚军和additionaly增加了我的项目/ home / devenv /跑步者附加在gitlab亚军config.toml: [runners.docker] tls_verify = false image = "docker:latest" privileged = true disable_cache = false volumes = ["/cache", "/home/devenv:/home/devenv"] testing和构build工作正常,使用图像:myrepo.com/group/image in .gitlab-ci.yml 然后我的部署部分失败,错误。 部署部分: deploy to review: image: docker:latest services: – docker:dind stage: deploy script: – rm -rf /home/devenv/$CI_PROJECT_NAMESPACE-$CI_PROJECT_NAME-$CI_BUILD_REF_NAME – mkdir /home/devenv/$CI_PROJECT_NAMESPACE-$CI_PROJECT_NAME-$CI_BUILD_REF_NAME – cp -r ./* /home/devenv/$CI_PROJECT_NAMESPACE-$CI_PROJECT_NAME-$CI_BUILD_REF_NAME/ – docker […]

如何在特定的gitlab-runner上访问CItesting中的屏幕截图

我想使用特定的亚军(在我的电脑上工作,而不是“共享亚军”)在CItesting中制作我的应用程序的屏幕截图。 它是一个基本的docker运动员。 我试图将builds_dir传递给完整path/home/myuser/mybuilds runnerconfiguration,但成功testing后,该文件夹是空的。 (它似乎是相对于构build,而不是Linux的path) 截图可能会被采取,但path似乎是相对的: app.browserWindow.capturePage().then(function (imageBuffer) { fs.writeFile('/home/myuser/mybuilds/page-full-path.png', imageBuffer) }) 那么如何在Docker中构build后访问构build文件夹? 编辑 我可以使用这样的artifacts : app.browserWindow.capturePage().then(function (imageBuffer) { console.log("This test path"); console.log(path.join(__dirname)); var mypath = path.join(__dirname, '../..', 'testimgages', "test.png"); fs.writeFile(mypath, imageBuffer) }) 然后在gitlab-ci.yml中 mytest script: – mytests artifacts: paths: -testimages 然后从gitlab.com下载图片,但有没有办法让它更快或本地查看,而不去gitlab.com?

Gitlab CI runner无法在docker执行程序上共享生成源

我尝试在Docker上共享构build源代码(并使用git fetch),但他总是在每次运行时运行一个git clone(是的,我已经configuration它在CI / CDpipe道设置上使用git fetch)。 我只是想用一个composer php更新脚本和一个phing(phpunit,…)testing阶段来运行一个构build阶段。 在构build阶段,一切工作(除了git克隆),并在testing阶段,他不使用以前的同一个来源,再次克隆源… 我知道我需要与docker容器共享我的音量,但我不知道如何使用gitlab CI! 我的conf:.gitlab-ci.yml image: webdevops/php:centos-7-php7 stages: – build – test build: script: – composer –working-dir=/builds/MyGroup/MyProject update test: script: – php /builds/MyGroup/MyProject/vendor/bin/phing 编辑:经过一天的search,我终于find了这个文档: https : //docs.gitlab.com/runner/executors/docker.html#the-persistent-storage现在它工作正常。 谢谢大家,

使用GitLab CI与Python的“onbuild”图像,requirements.txt中的包似乎没有安装

我正在尝试使用testing项目https://gitlab.com/khpeek/CI-test来熟悉Gitlab CI环境。 该项目有以下.gitlab-ci.yml : image: python:2.7-onbuild services: – rethinkdb:latest test_job: script: – pytest 问题是CIpipe道中的test_job作业失败,并显示以下错误消息: Running with gitlab-ci-multi-runner 9.0.1 (a3da309) on docker-auto-scale (e11ae361) Using Docker executor with image python:2.7-onbuild … Starting service rethinkdb:latest … Pulling docker image rethinkdb:latest … Using docker image rethinkdb:latest ID=sha256:23ecfb08823bc5483c6a955b077a9bc82899a0df2f33899b64992345256f22dd for service rethinkdb… Waiting for services to be up and running… Using […]

如何正确部署到主机从gitlab-ci(+ docker)?

情况 我有一个服务器: 192.168.1.2 。 这个服务器上安装了一个gitlab和一个连接到gitlab-runner的gitlab-runner 。 请记住,我们正在谈论同一台服务器。 我在/etc/cfupdate.py有一个脚本,你可以告诉它一个Python脚本。 我想这个文件在自动部署我的知识库。 注意:该文件由deploymgr拥有,这是为此目的创build的用户。 它有rw访问权限。 尝试#1 .gitlab-ci.yml : image: python:latest before_script: – echo "Starting script exec." after_script: – echo "CI Script Complete." test-run: stage: build script: – echo "Setting up…" – pip3 install requests – python3 "cfupdate.py" deploy: stage: deploy script: – docker cp $HOSTNAME:$PWD/cfupdate.py /etc/ only: – master […]

如何在gitlab-ci-runner-docker中使用docker和npm

我用docker docker:dind作为服务使用gitlab-ci。 问题 我正在尝试在Gitlab-CI运行npm run build然后由docker build 。 我可以通过这种方式在Docker中使用docker构build: 这是我的跑步者config.toml : $ cat /etc/gitlab-runner/config.toml concurrent = 4 check_interval = 0 [[runners]] name = "developers_gitlab_school-gitlab-runner-docker" url = "https://school.domain.com" token = "cd09f40c6a4….a44751fec795e35" executor = "docker" builds_dir = "/mnt/mesos/sandbox/builds" cache_dir = "/mnt/mesos/sandbox/cache" [runners.docker] tls_verify = false image = "docker:latest" privileged = true disable_cache = false volumes = ["/cache"] […]

具有Docker执行器克隆问题的OmniBus GitLab CE Multirunner

我在Ubuntu上使用OmniBus软件包和GitLab CI Multirunner与Docker执行程序(configurationMultirunner时的docker选项)安装了GitLab CE。 我用这个.gitlab-ci.yml运行了一个简单的testingpipe道: image: node default: script: – echo okay 它在CI构build作业日志中给了我这个错误: 无法parsing主机{computerName} 我曾经看到有人build议在[runner.docker]下的[runner.docker]添加extra_hosts = ["{computerName}:127.0.0.1"] ,使错误消失。 现在我得到这个错误: 无法访问“ http:// gitlab-ci-token :{ciToken}:{computerName} /root/test.git/”:无法连接到{computerName}端口80:连接被拒绝 。 我看到了一个build议来改变external_url ,但我不知道该怎么做。 目前它和其他地方一样都是{computerName} 。 跑步者试图在80号港口进入,一切如我所愿。 我想也许80在Firefox和Git为我工作,但不在跑步意味着它试图连接到80内的Dockernetworking,因为服务在主机networking,失败。 当把http://gitlab-ci-token:{ciToken}:{computerName}/root/test.git/并粘贴到浏览器中时,我进入了存储库页面GitLab实例。 我不知道要更改external_url ,所以它可以在Docker容器中使用Git clone。 我怎样才能把两者联系起来? 作为参考,我也在GitLab论坛的一个新主题中把这个问题联系起来,如果find了答案,我会要求作者回答这个问题,所以我可以closures这个问题。

如何configurationgitlab-ci转轮克隆从正确的http url

我在单独的容器中运行gitlab和runner。 Gitlab是本地端口80端口,我可以克隆 http://username:password@172.17.0.1/root/citest.git 172.17.0.1是我的盒子上的docker0接口的ip然而,当运行任何pipe道时,我得到了可怕的“你似乎克隆了一个空的存储库”的问题。 调查显示,跑步者有以下偏远地区: [remote "origin"] url = http://gitlab-ci-token:jEZ_WtWKR4LaP63Qrk_E@b4b32c3cc3e7/root/citest.git b4b32c3cc3e7是gitlab-ce容器的id 我想这是因为我在容器上运行gitlab,我没有configuration特定的域名? 如果我的猜测是正确的,是否有任何环境variables可以在我的gitlabci.yml中设置,以调整gitlab服务器的位置? 否则,有什么办法可以让跑步者知道gitlab的ip在改变吗? 以上是有点专业化,也许混淆,所以这里有一些背景:我试图让学生学习git,ci / cd和其他devops-y做法的devops实验室。 我只能在我的笔记本电脑上随时部署这个ad-hoc,然后让他们连接到我的电脑上。 在这种情况下,我没有看到任何方式来设置一个域或任何静态的gitlab而不是一个容器IP,对不对?

无法使用docker image在gitlab-ci中编译golang项目

我无法使用gitlab-ci构build我的golang项目。 当在项目目录中运行dep init时,它只提取我的一部分依赖关系,而当尝试构build二进制文件时失败,错误的依赖关系找不到。 当我在osx上构build我的项目,或者运行docker golang映像在osx上编译项目时,它会成功构build。 我的.gitlab-ci.yml文件: image: golang:1.9.2 variables: REPO_NAME: storage before_script: – mkdir -p $GOPATH/src/$REPO_NAME – ln -svf $CI_PROJECT_DIR/* $GOPATH/src/$REPO_NAME – cd $GOPATH/src/$REPO_NAME – go get -u github.com/golang/dep/cmd/dep – dep init stages: – compile compile: stage: compile script: – go build -o $CI_PROJECT_DIR/main artifacts: paths: – main gitlab-runner任务的输出: [0KRunning with gitlab-runner 10.2.0 (0a75cdd1) on […]

如何在CI脚本作业之前重builddock上的docker映像

我想在GitLab CI脚本中生成Dockerfile并构build它。 然后在构build作业中使用这个新生成的图像。 我怎样才能做到这一点? 试过使用全局的before_script,但它已经在默认的容器中启动。 我需要从任何容器中做这个。