Tag: gitlab ci runner

使用eirslett:frontend-maven-plugin在gitlab.com上运行maven

我有一个前端项目模块的maven项目,我用eirslett:frontend-maven-plugin包装。 它在当地工作正常,但在gitlab.com生成失败。 我用这个.gitlab-ci.yml启动构build: image: maven:3.3.9-jdk-8-onbuild build: script: "mvn clean install -B -X" 而这个pom.xml: <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>fr.nev.oms</groupId> <artifactId>oms-frontend</artifactId> <packaging>jar</packaging> <parent> <groupId>fr.nev.oms</groupId> <artifactId>myproject</artifactId> <version>1.0.0-SNAPSHOT</version> </parent> <build> <plugins> <plugin> <groupId>com.github.eirslett</groupId> <artifactId>frontend-maven-plugin</artifactId> <version>1.3</version> <configuration> <!–<configuration>–> <nodeVersion>v4.4.7</nodeVersion> <npmVersion>3.10.5</npmVersion> <!–</configuration>–> <environmentVariables> <NODE_ENV>production</NODE_ENV> <API_URL></API_URL> <APP_VERSION></APP_VERSION> </environmentVariables> </configuration> <executions> <execution> <id>install node and npm</id> <goals> <goal>install-node-and-npm</goal> […]

Gitlab CI中使用Docker runner的代理问题

我想将我的Maven / Java应用程序打包到Docker Gitlab CI运行器中。 我在一个公司代理人的背后。 这是我的.gitlab-ci.yml : image: maven:3-jdk-7 build: script: "mvn clean package -B" 当一个构build被触发,我得到这个错误(在Gitlab生成控制台): 未知主机repo.maven.apache.org:名称或服务未知 – > [Help 1] 然后,我添加了 variables: http_proxy: http://user:pass@corp.proxy.ip:port 到.gitlab-ci.yml 。 但我得到另一个错误: 致命的:无法访问' http:// gitlab-ci-token:xxxxxx@170.20.20.20:8080 / myapp.git / ':请求的URL返回错误:504 当我注册Docker亚军时,select的Docker镜像是maven:3-jdk-7 。 我刚刚尝试添加no_proxyvariables作为值(Gitlab IP)172.20.20.20,但我得到相同的错误(第一个)。 我该如何解决? 有没有办法强制Docker亚军(容器)使用–net=host ?

无法为gitlab-ci运行构build

Gitlab无法完成项目的gitlab-ci构build。 显示它的日志无法连接到docker端点。 gitlab-ci-multi-runner 0.7.1(ee7a001)使用Docker执行器与图像ruby:2.1 …提取docker image mysql:latest … 错误:生成失败:无法连接到Docker端点 请提供一些解决scheme。

在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-ci.yml中的docker容器中装入卷?

我正在使用.gitlab-ci.yml和.gitlab-ci.yml作为Android项目上的GitLab CI runner。 在testing运行结束时, gradlew将testing结果保存在build目录下的xml和html中: Finished generating test XML results (0.001 secs) into: /builds/org/project/sdk/build/test-results/release Generating HTML test report… Finished generating test html results (0.002 secs) into: /builds/org/project/sdk/build/reports/tests/release 我想要访问这些文件,但是文档没有提到如何使用docker run -v <path>:/builds/org/…来安装卷。

GitLab CI转轮无法连接到kubernetes中的unix:///var/run/docker.sock

GitLab在kubernetes集群中运行。 跑步者不能build立docker图像与构build工件。 我已经尝试了几种方法来解决这个问题,但没有运气。 这里有一些configuration片段: .gitlab-ci.yml image: docker:latest services: – docker:dind variables: DOCKER_DRIVER: overlay stages: – build – package – deploy maven-build: image: maven:3-jdk-8 stage: build script: "mvn package -B –settings settings.xml" artifacts: paths: – target/*.jar docker-build: stage: package script: – docker build -t gitlab.my.com/group/app . – docker login -u gitlab-ci-token -p $CI_BUILD_TOKEN gitlab.my.com/group/app – docker […]

无法访问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 […]

Gitlab docker执行程序 – 在before_script之后caching图像

在gitlab-ci中, .gitlab-ci.yml文件中有一个选项可以在任何实际脚本运行之前执行命令,称为before_script 。 .gitlab-ci.yml示例说明在这里安装辅助程序。 不过,我注意到,在使用Docker执行程序时,这些更改不会caching在Docker中。 我曾经天真地认为运行这些命令后,docker会caching图像,所以对于下一次运行或testing,docker只会加载before_script之后生成的caching图像。 这将大大加快构build。 作为一个例子,我的.gitlab-ci.yml看起来有点像: image: ubuntu before_script: – apt-get update -qq && apt-get install -yqq make … build: script: – cd project && make 一个可能的解决scheme是去亚军机器和创build一个docker的形象,可以build立我的软件没有任何其他的安装,然后在yaml文件的image部分引用它。 不利的一面是,无论何时我想添加一个依赖项,我都需要login到亚军机器,并在构build成功之前更新镜像。 如果我只需要将依赖关系添加到apt-get install的末尾,并使用docker / gitlab-ci来处理相应的caching,那将会更好。 在.gitlab-ci.yml还有一个cache命令,我尝试设置为.gitlab-ci.yml untracked: true ,我认为这会caching一切不是我的项目的副产品,但它似乎没有任何效果。 有没有什么办法可以得到我想要的行为?

与docker运动员的GitLab Ci – 多阶段

即时通讯设置我的第一个GitLab Cipipe道,包括docker运行我的项目。 我想把我的pipe道分成几个阶段,所以我创build了“build”,“test”和“clean-build”。 在这种情况下一切工作正常: stages: – build – test – clean image: docker:latest services: – docker:dind before_script: – export RELEASE=${CI_BUILD_REF_NAME} – docker version build: stage: build tags: – sendis-dind script: – echo "Hallo in Build Stage" test: stage: test tags: – sendis-dind script: – echo "Hallo in TEST Stage" clean-build: stage: clean tags: – sendis-dind […]

如何使用我的docker-composeconfiguration与gitlab CI

我有一个关于gitlab的项目,我将使用gitlab CI进行unit testing。 其实,我有一个其他的仓库名称“docker”与docker-compose.yml和Dockerfile两个项目(因为我重现生产configuration,这两个项目是相互依赖的) 其实在我的开发configuration 在Projects目录中: docker PROJECT_1 project_2 在docker目录中: 泊坞窗,compose.yml Dockerfile-PROJECT1 Dockerfile-项目2 [docker文件中的一些configuration文件问] docker-compose.yml的相对path为../project_1和../project_2 为了build立我的configuration,我做了: cddocker工人 docker-compose up -d project1(在docker-compose.yml中的名字) docker exec -ti project1 bash 题 ? 我想知道我怎么可以拉git仓库“docker”,并启动docker – 组成了project1自gitlab CI启动? 谢谢