Tag: gitlab ci

docker里面运行docker

我正在使用gitlab 9.3.3-ce.0和gitlab runner和docker executor。 我想在这个docker-executor内build立图像。 怎么做? 我正尝试使用/etc/gitlab-runner/config.toml这个部分连接到外部/etc/gitlab-runner/config.toml : [runners.docker] tls_verify = false image = "java:8" privileged = true disable_cache = false volumes = ["/var/images", "/var/lib/docker:/var/lib/docker", "/var/run/docker.sock:/var/run/docker.sock", "/usr/bin/docker:/usr/bin/docker"] shm_size = 0 但是当我尝试执行泊docker info窗docker info我得到: /usr/bin/docker: No such file or directory 但它应该存在: $ which docker /usr/bin/docker

如何使用GitLab CI + Docker + Ansible部署Rails应用程序?

我有一个托pipe的GitLab与一些Ruby on Rails项目。 我有一个CI脚本,用该项目构build一个Docker镜像并将其推送到GitLabregistry。 最后,我需要将该映像部署到临时服务器。 stages: – test – build – deploy # … build_image: stage: build image: docker:latest services: – docker:dind variables: DOCKER_DRIVER: overlay script: – docker login -u gitlab-ci-token -p $CI_BUILD_TOKEN gitlab.host.com:4567 – docker build -t gitlab.host.com:4567/group/app:$CI_BUILD_REF_NAME . – docker push gitlab.host.com:4567/group/app:$CI_BUILD_REF_NAME only: – master 我想用Ansible来做,但是不知道怎么做。 也许有人可以推荐要查找什么或读什么? 感谢名单

在gitlabpipe道中安装private npm包

如果需要使用npm安装私有存储库, NPM_TOKEN需要设置环境variablesNPM_TOKEN 。 NPM_TOKEN=00000000-0000-0000-0000-000000000000 我在gitlabpipe道中的构build阶段需要安装一个私有存储库。 因此,我把这个NPM_TOKEN秘密variables放在我的gitlab pipeline设置中。 我目前的gitlab-ciconfiguration: image: x/node build_job: script: – printenv NPM_TOKEN – npm i @x/test docker图像是我只是设置一个.npmrc文件: FROM node:latest COPY .npmrc . 我在同一个目录中有.npmrc : //registry.npmjs.org/:_authToken=${NPM_TOKEN} 我已经尝试了docker形象: run -it myimage bash export NPM_TOKEN=… npm i @x/test 这工作,私人包安装。 但是,在gitlabpipe道上,它找不到包(404)。 当作业运行时,我可以清楚地看到正在打印的NPM_TOKEN envvariables。 所以我不知道发生了什么事

如何从ci-pipeline执行位于跑步者的脚本?

我有一个gitlab运行图像如下: Dockerfile FROM alpine:3.6 RUN apk add –no-cache curl bash COPY trigger-jenkins /usr/local/bin/trigger-jenkins ENTRYPOINT ["/bin/bash"] 它的目的是触发jenkins的工作。 运行这个: docker run -ti jenkins-runner:latest trigger-jenkins jon_name 工作得很好。 但是当我试图做同样的: .gitlab-ci.yml Jenkins Trigger: script: – trigger-jenkins job_name tags: – Jenkins pipe道失败像这样: 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 […]

将环境variables从Gitlab docker执行程序传递到image

在我的testing设置中,我使用docker executor来运行我的构build。 我们几乎所有的项目都在官方节点图像之一(即node:6 )上运行。 默认情况下,这些官方图像来自一个日志logging级别设置为输出非常好。 根据官方文档,可以禁用https://github.com/nodejs/docker-node/blob/master/README.md#verbosity Verbosity By default the Node.js Docker Image has npm log verbosity set to info instead of the default warn. This is because of the way Docker is isolated from the host operating system and you are not guaranteed to be able to retrieve the npm-debug.log file when npm fails. […]

运行Android模拟器的Docker GitLab错误:无法确定主机的位数。 假定32位

我正在尝试自动化Android构build和testing。 仪器testing不工作,因为我在Docker Runner中启动Android模拟器时出现以下错误: Running with gitlab-ci-multi-runner 9.4.2 (6d06f2e) … Using Docker executor with image kmindi/android-ci:latest … … $ chmod +x ./gradlew $ echo no | avdmanager -v create avd –force –name test –abi google_apis/x86_64 –package 'system-images;android-25;google_apis;x86_64' Do you wish to create a custom hardware profile? [no] $ export SHELL=/bin/bash && echo "no" | emulator -avd […]

如何在Gitlab CI中使用Dockerfile

使用gitlab-ci作为我的节点/反应应用程序,我试图使用phusion/passenger-nodejs作为基础泊坞窗 我可以很容易地在.gitlab-ci.yml中指定: image: phusion/passenger-nodejs:latest variables: HOME: /root cache: paths: – node_modules/ stages: – build – test – deploy set_environment: stage: build script: – npm install tags: – docker test_node: stage: test script: – npm install – npm test tags: – docker 但是,Phusion Passenger期望您在Dockerfile中使用特殊的init进程等进行configuration更改,例如python支持。 #FROM phusion/passenger-ruby24:<VERSION> #FROM phusion/passenger-jruby91:<VERSION> FROM phusion/passenger-nodejs:<VERSION> #FROM phusion/passenger-customizable:<VERSION> # Set correct environment […]

docker图像在gitlab CI中拉/运行会发生什么?

我遇到与gitlab CI构build奇怪的问题。 我的脚本看起来像这样: – docker pull myrepo:myimage – docker tag myrepo:myimage myimage – docker run –name myimage myimage 这是工作了几次,但之后我开始犯错: docker:来自守护进程的错误响应:Conflict。 容器名称“/ myimage”已被容器使用。 我已经login了执行该步骤的特定机器,并且docker ps -a已经显示该图像留在了构build机器上。 我期望gitlab CI构build步骤通过在Docker容器中运行它们与外部环境完全分离…所以构build不会“损害”其他构build的环境。 所以我期望所有由CI创build的图像和容器都可以简单地灭亡……事实并非如此 是否我的gitlabconfiguration错误,或者这是预期的行为,docker图像/容器存在于主机的上下文,而不是在docker的图像? 在我的构build中,我使用图像docker:latest

GitLab CI – 无法从映像中连接到Docker守护进程

我有一个基于节点的项目,以下是作为构build的一部分需要执行的前几个步骤: npm install npm run build docker build -t client . 上面的最后一个命令构build了以下Dockerfile: FROM docker.artifactory.abc.net/nginx COPY build /usr/share/nginx/html COPY default.conf /etc/nginx/conf.d/default.conf .gitlab-ci.yml内容: image: docker.artifactory.abc.net/docker/node:1.0 stages: – build – deploy build: stage: build script: – npm install – npm run build – docker build -t client . 在上面的Dockerfile中,我使用了一个包含代理设置的自定义节点图像( node:1.0 ),以便工作和Artifactoryconfiguration,所有的依赖关系都是使用Artifactory来获取的。 现在当我运行这个版本时,我得到了docker: command not found执行最后一个命令( docker build -t […]

在使用Gitlab docker build时,我的文件在哪里?

我正在使用gitlab CI来构builddocker镜像 image: docker:latest services: – docker:dind stages: – build build: stage: build script: – docker build -t image/name . 但是,我不知道在哪里可以从该映像的存储库中find我的文件 。 我必须以某种方式复制它们,否则我错过了它们的位置? 我试图使用docker run image/name lssearch文件。 在文档和互联网上我都找不到任何提及。 编辑:我现在的dockerfile只包含FROM debian:stretch