Tag: gitlab ci

seleniumtesting在当地工作,但不在Gitlab CI中

我目前正在开发一个涉及经典后端/前端架构的Java Spring Boot项目。 我正在尝试使用Selenium WebDriver来编写一些基本的集成testing。 问题是我写的testing在我的本地开发机器上没有任何问题,但通过持续集成设置(Gitlab CI)运行时没有通过。 示例testing的代码如下: @RunWith(SpringRunner.class) @SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT) @ActiveProfiles("test") public class ExampleTest { @LocalServerPort private int port; WebDriver wd; @Test public void successfulLogin(){ String url = "http://localhost:" + port; wd = new HtmlUnitDriver(); wd.manage().timeouts().pageLoadTimeout(30, TimeUnit.SECONDS); wd.get(url); } } 相对的gitlab-ci.yml部分是: stages: – test maven-test: image: maven:3.5.0-jdk-8 stage: test script: "mvn test -B […]

gitlab-ci runner的Docker执行器| 我怎样才能看到docker容器在哪里生成?

我是gitlab-ci新手。 我用docker executor在私人服务器上设置了gitlab runner。 当我将新提交合并到我的回购时,构build被触发。 我可以从Gitlab Web UI确认。 据我了解,这些工作是在runner服务器上运行的,所以我猜Docker容器是在我的专用runner服务器上创build的。 但是我看不到那个容器,当我执行docker ps -a或者我甚至看不到用于创build容器的docker镜像。 有没有办法检查容器/图像运行作业? 或者我的理解有错误吗? 我可以在Web控制台上看到作业的日志,但是我可以在CLI上看到这些日志吗? 请纠正我,如果我在任何时候都错了。

如何使用gitlab-ci构builddocker内的archlinux pkgbuild

我需要在Docker中使用gitlab-ci,以便在每次提交时自动构build和testingarchlinux软件包。 我的.gitlab-ci.yml : image: pritunl/archlinux before_script: – pacman -Su pkgbuild-introspection –noconfirm stages: – build makepkg: script: – makepkg –clean –rmdeps –syncdeps –noarchive –noconfirm –noprogressbar –asdeps stage: build 一切都很好,但是当CI调用makepkg命令时,我得到这个错误: ==> ERROR: Running makepkg as root is not allowed as it can cause permanent, catastrophic damage to your system. ==> ERROR: An unknown error has occurred. Exiting… […]

在Docker上使用caching的Gitlab CI runnerconfiguration

我似乎无法得到caching或工件之间的工作之间的gitlab CI。 我怀疑这是与我的configuration有关,但我不知道是什么。 我正在使用以下docker-composeconfiguration在docker中运行gitlab和gitlab-ci-multirunner。 为了简洁,我省略了数据库configuration和一些环境variables: version: '2' services: gitlab: image: sameersbn/gitlab:8.5.1 links: – redis:redisio – postgresql:postgresql ports: – "10080:80" – "10022:22" environment: … volumes: – gitlab_data:/home/git/data gitlab-ci-runner: restart: always image: gitlab/gitlab-runner volumes: – gitlab_runner_config_data:/etc/gitlab-runner – /var/run/docker.sock:/var/run/docker.sock – /etc/nginx/ssl/gitlab.crt:/etc/gitlab-runner/certs/ca.crt – /etc/ssh:/ssh links: – gitlab:gitlab redis: … postgresql: … volumes: postgresql_data: redis_data: gitlab_data: gitlab_runner_config_data: 运行器configuration( config.toml )是: […]

错误:注册跑步者。 禁止(检查注册标记)

我正在尝试为GitLab CIconfiguration一个新的运行器,并且不断收到错误信息 错误:注册runner … forbidden(检查注册令牌)runner = 4PzD2eFb PANIC:注册失败 也许你有networking问题 这是我运行的命令 gitlab-ci-multi-runner register Please enter the gitlab-ci coordinator URL (eg https://gitlab.com/ci): https://gitlab.com/ci Please enter the gitlab-ci token for this runner: XXXXXXXXXXXX Please enter the gitlab-ci description for this runner: [gitlab-test]: runner Please enter the gitlab-ci tags for this runner (comma separated): docker 这也发生在我运行命令时 sudo gitlab-runner register […]

在.gitlab-ci.yml中运行docker-compose构build

我有一个.gitlab-ci.yml文件,其中包含以下内容: image: docker:latest services: – docker:dind before_script: – docker info – docker-compose –version buildJob: stage: build tags: – docker script: – docker-compose build 但是在ci-log我收到消息: $ docker-compose –version /bin/sh: eval: line 46: docker-compose: not found 我究竟做错了什么?

从docker容器内部访问docker端口

我有一个服务端口1234docker容器内运行。现在我想运行testing从同一个docker容器使用此服务 `docker exec` 但我不能这样做,因为我的testing无法连接到它。 作为服务地址,我使用docker $ HOSTNAMEvariables。 docker exec SERVICE_NAME /bin/sh -c "nc -vz $HOSTNAME 1234" 回报 拒绝连接 docker exec SERVICE_NAME /bin/sh -c "netstat -tulpn" 返回空行 我也试过$ HOSTNAME的0.0.0.0 insead 我已经考虑过从其他容器运行testing,但是这对我来说不是很方便,原因有两个:1)我使用gitlab ci和docker。 2)我的服务链接到一些其他docker服务,如mongodb,兔子等 谢谢

从GitLab CI运行器连接到docker-in-docker

我有一个GitLabpipe道,我想要: 构build一个Java应用程序 使用docker-compose进行testing 推送到我的Docker存储库 我遇到的主要问题是这个工作 : services: – docker:dind docker_test: stage: docker_test image: docker:latest script: – docker version 输出按预期打印: > gitlab-ci-multi-runner exec docker –docker-privileged docker_test … $ docker version Client: Version: 17.06.0-ce … Server: Version: 17.06.0-ce … Build succeeded 虽然这不 (卸载docker-ce安装步骤): services: – docker:dind docker_test: stage: docker_test image: ubuntu:latest << note change script: – docker […]

GitLab CI sshregistrylogin

我有一个GitLab项目gitlab.com/my-group/my-project它有一个CIpipe道,build立一个图像,并将其推送到项目的GitLabregistryregistry.gitlab.com/my-group/my-project:tag 。 我想将此映像部署到Google Compute Engine,在那里我有一个运行docker的VM。 很容易做到手动通过ssh'ing进入虚拟机,然后docker login registry.gitlab.com和docker run … registry.gitlab.com/my-group/my-project:tag 。 除了docker login命令是交互式的,这对于CI来说是不可行的。 它可以在命令行上接受用户名和密码,但即使我的login信息在一个秘密variables (将我的GitLablogin凭证存储在GitLab秘密variables中? 这是pipe道Deploy阶段的预期工作stream程: 安装gcloud工具或使用预安装的映像 gcloud compute ssh my-gce-vm-name –quiet –command \ "docker login registry.gitlab.com && docker run registry.gitlab.com/my-group/my-project:tag" 由于gcloud命令将在GitLab CI Runner中运行,因此它可以访问秘密variables,但这真的是通过GitLab通过sshlogin到GitLab Registry的最佳方式吗?

无法访问docker中创build的docker-compose容器

我有一个docker-compose.yml文件,在8800端口上启动一个简单的HTTP回显服务。 version: '2' services: echo-server: image: luisbebop/echo-server container_name: echo-server ports: – "8800:8800" 超级简单的东西。 如果我运行docker-compose up并在我的本地机器上运行: echo "Hello World" | nc 127.0.0.1 8800 然后我看到回声。 但是:如果我在Docker容器内通过GitLab运行器运行这个相同的组合场景,它将失败。 我试图在GitLab上关注这个问题,但效果有限: https : //gitlab.com/gitlab-org/gitlab-ce/issues/26566 我的.gitlab-ci.yml文件如下所示: — stages: – docker_test services: – docker:dind docker_test: stage: docker_test image: docker:latest script: – docker version – apk update – apk add py-pip – pip install […]