Tag: gitlab ci runner

Gitlab CI编译失败,“准备失败:无法连接到Docker端点”

这里是.gitlab-ci.yml文件 image: maven:3-jdk-8 build: script: "mvn install -B" 那么构build将失败,并出现以下错误 Running with gitlab-ci-multi-runner 1.8.0 (734bc5d) Using Docker executor with image maven:3-jdk-8 … ERROR: Preparation failed: cannot connect to Docker endpoint Will be retried in 3s … Using Docker executor with image maven:3-jdk-8 … ERROR: Preparation failed: cannot connect to Docker endpoint Will be retried in 3s […]

用npm设置Rails的GitLab CI

这些天,我正在为我的项目而苦恼于GitLab CI设置。 这个设置并不像Travis CI那么简单。 我花了很多时间debugging这个,所有我发现不符合我的要求 上下文 我有一个使用rvm和npm和postgresql的Rails项目。 我用rvm和npm安装了一个定制的Docker镜像。 但是,在运行之前,我必须得到我的.gitlab-ci.yml相应的ruby和node版本: image: "my-rvm-npm-image" services: – postgres:9.3-alpine variables: POSTGRES_DB: db POSTGRES_USER: user POSTGRES_PASSWORD: cache: untracked: true key: "$CI_BUILD_REF_NAME" paths: – node_modules/ stages: – build – rspec – npm build: stage: build script: – sudo chown -R $(whoami) /cache – /bin/bash -l -c "rvm install $(cat .ruby-version) && rvm […]

使用共享的跑步者来访问gitlabregistry

我对使用gitlab跑步者相当陌生,所以我决定在使用之前先阅读一些文档,但是我读得越多,我就越困惑。 我的.gitlab-ci.yml中的一个阶段应该是一个构build阶段,我希望有一个跑步者build立一切,并希望将图像推送到gitlabregistry。 根据我的理解,我应该使用docker-in-docker,在开始实际构build之前,我应该首先login,我的第一个问题出现在哪里: services: docker:dind image: docker:git before_script: – docker login -u gitlab-ci-token -p $CI_BUILD_TOKEN $CI_REGISTRY 在我读到的所有文件中,几乎没有关于令牌的信息。 我看到,当我注册一个新的gitlab跑步者,我得到一个特殊的令牌,但使用共享跑步者呢? 我如何获得他们的令牌,我甚至需要? 我还读到,有一些预定义的variables ,其中还包括CI_BUILD_TOKEN和CI_REGISTRY 。 这是否意味着它们已经被定义,我不应该自己定义它们?

git亚军是无法访问

我正在尝试设置一个gitlab runner来使用gitlab-ci而不是我的Jenkins。 我build立了一个链接docker.sock的docker容器 docker run -d –name gitlab-runner –restart always \ -v /var/run/docker.sock:/var/run/docker.sock \ -v /config/file/on/host:/etc/gitlab-runner \ gitlab/gitlab-runner:latest 容器运行后,我注册了一个新的运行器到gitlab服务器,以下面的configuration结束 concurrent = 1 check_interval = 0 [[runners]] name = "lianli" url = "<https://gitlab_server.de" token = "<secret>" executor = "docker" [runners.docker] tls_verify = false image = "debian:latest" privileged = false disable_cache = false volumes = ["/cache"] shm_size […]

Gitlab CI中的Docker执行器将错误的URL传递给Git仓库

我有一个Gitlab服务器设置在内部服务器上,像http://gitlab.example.com这样的域名。 我也注册了一个使用shell executor的runner和一个使用docker docker executor的runner,两者都在与Gitlab服务器相同的机器上。 我有这个非常基本的.gitlab-ci.yml文件 runtest: script: – npm install 当我使用shell executor通过runner运行时,一切正常。 回购是检出,并运行npm安装。 但是,当我通过运行configuration为docker executor 。 我得到以下错误: Running with gitlab-ci-multi-runner 9.4.2 (6d06f2e) on Test runner (fe943c63) Using Docker executor with image node:6 … Using docker image sha256:81e132bdd65c157234d121b7c1743360c0d0d60f9bb6322f75ffa87c8f561ad8 for predefined container… Pulling docker image node:6 … Using docker image node:6 ID=sha256:3d258692b9fa0ba9568a891e1c702eee61d43e35286bec1b6fb0964700ca1dea for build container… Running […]

Docker中的Docker执行器在Gitlab-Runner中不起作用(无法连接到docker deamon)

所以我最近尝试了Docker和Gitlab Runner,但似乎我无法得到它的工作。 这是我有的日志: Running with gitlab-runner 10.0.2 (a9a76a50) on my-docker (c588e5e2) Using Docker executor with image docker:git … Starting service docker:dind … Pulling docker image docker:dind … Using docker image docker:dind ID=sha256:b9145b364a203c0afc538ca615b3470e41729edfb7338017f5d4eeb5b13b2d90 for docker service… Waiting for services to be up and running… Using docker image sha256:7961fbf38d6f827265aed22fe41a1db889c54913283b678a8623efdda9573977 for predefined container… Pulling docker image docker:git … […]

如何使用Docker在主机上拉项目?

我正在学习gitlab-ci.yml ,我开始阅读有关环境的知识 ,是否可以访问主机上的文件夹并在deploy阶段执行git pull命令? image: php:5.6 # The folders we should cache cache: paths: – vendor/ before_script: # Install git, the php image doesn't have installed – apt-get update -yqq – apt-get install git mysql-client -yqq # Install mysql driver – docker-php-ext-install pdo_mysql # Install composer – curl -sS https://getcomposer.org/installer | php # Install all […]

通过gitlab ci / docker运行构build

我已经成功安装了Gitlab CI ,并将其与我的gitlab链接。 我也用mysql服务configuration了使用docker和ruby-2.2映像的共享运行程序。 以下是我执行configuration一个跑步者https://about.gitlab.com/2015/04/17/unofficial-gitlab-ci-runner/ : $ gitlab-ci-multi-runner register \ –non-interactive \ –url "https://my.gitlab.ip/" \ –registration-token "REGISTRATION_TOKEN" \ –description "ruby-mysql" \ –executor "docker" \ –docker-image ruby:2.2 –docker-mysql latest 我有一个示例Ruby / Rails应用程序,出于某种原因,跑步者不运行构build。 这是我的.gitlab-ci.yml : image: ruby:2.2 services: – mysql:latest before_script: – ruby -v – gem install bundler – cp config/database.yml.example config/database.yml – cp config/secrets.yml.example config/secrets.yml – […]

在gitlab运行器完成构build后部署

我想使用gitlab跑步者来部署一个成功build立的docker图像,但我不知道如何使用.gitlab-ci.yml中的部署阶段来做到这一点。 构build日志显示在构build过程中数据库在Docker镜像上正确创build。 我在本地使用Docker(Mac OS X 10.11.6)来构build我的Docker容器。 Gitlab正在远程运行。 我注册了一个特定的本地亚军来处理构build。 当我将更改推送到我的项目时,gitlab CI将运行构build脚本来创buildtesting数据库。 图像生成后会发生什么? 在我的本地机器上没有列出完成的版本的docker图像。 gitlab-runner-prebuilt-x86_64是一个准系统的linux镜像,并没有和build连接。 https://docs.gitlab.com/ce/ci/docker/using_docker_build.html Running Docker in Jenkins (in Docker) >gitlab-ci-multi-runner list Listing configured runners ConfigFile=/Users/username/.gitlab-runner/config.toml local-docker-executor Executor=docker Token=[token] URL=http://gitlab.url/ci >docker images REPOSITORY TAG IMAGE ID CREATED SIZE gitlab-runner-prebuilt-x86_64 f6fdece [id1] 25 hours ago 50.87 MB php7 latest [id2] 26 hours ago 881.8 MB ubuntu […]

使用gitlab-ci和gitlab-runner的Docker端口绑定

我在configuration我的gitlab-ci和gitlab-runner时发现了一个问题。 我想在一台服务器上有几个独立的应用程序环境,运行在其他外部端口上,但是使用相同的Docker镜像。 我想实现的 在容器中的端口80运行Apache的deploy-dev ,但在外部端口81 deploy-rc在容器中的端口80运行Apache,但在外部端口82 我已经看到docker run有–publish参数,它允许端口绑定,如80:81 ,但不幸的是我找不到在gitlab-ci.yml或gitlab-runner的config.toml设置该参数的任何选项。 有什么办法可以在gitlab-runner运行的Docker中实现端口绑定? 我的gitlab-ci.yml : before_script: # Install dependencies – bash ci/docker_install.sh > /dev/null deploy: image: webdevops/php-apache:centos-7-php56 stage: deploy only: – dockertest script: – composer self-update – export SYMFONY_ENV=dev – composer install – app/console doc:sch:up –force – app/console doc:fix:load -e=dev -n – app/console ass:install – app/console ass:dump -e=dev […]