Tag: jenkins

Jenkins Pipeline Plug-in是否支持Do​​cker Compose?

我正在寻找一种在Jenkins 2.0中运行由多个容器组成的Docker-enabled构build的方法。 是否有任何计划在Pipeline中本地支持Docker Compose ,或者通过CloudBees docker插件进行pipe道。 或者可以/必须通过明确的电话来解决sh docker-compose… ? 也许甚至可以在内部使用它们try… finally进一步控制服务生命周期。 编辑:第一个答案是build议在jenkinsbuild立docker集装箱的方法。 这不是这里所需要的。 我(EngineerDollery)希望在jenkins中构build我的目标平台,以便我可以将应用程序部署到它并运行端到端testing。

如何在每个合并请求上通过Docker启动应用程序?

我运行jenkins和我的应用程序dockerized,即当我运行容器它暴露端口3000,我可以指向我的浏览器。 在每个Github PR上,我都想将git commit部署到某个正在运行的容器,并让Jenkins将其链接到可以访问的链接。 任何PR更新都会自动重新部署,并在PRclosures/解决它被取消。 我已经看过kubernetes和一个小农场主,但假设我只能部署到一个盒子,最简单的方法是什么?

问题与jenkinspipe道脚本和docker工人图像

我尝试在Docker容器中构build项目,图像如下所示: FROM maven:3.3.9-jdk-8 WORKDIR mvnBuildDir ENTRYPOINT ["mvn"] 如果我运行我的容器像下面一切正常。 docker run -v /home/user/Worspace/myMavenProject:/mvnBuildDir myMaven3 clean package 但是,如果我在我的Jenkinsfile中尝试这个,我得到了一个错误,没有告诉我什么。 Jenkinsfile: //… def maven = docker.image("myMaven3"); maven.inside("-v ${workdir}:/mvnBuildDir"){ stage "build and test" sh "mvn clean install" } //.. 错误: [Pipeline] { [Pipeline] stage (build and test) Entering stage build and test Proceeding [Pipeline] sh [master] Running shell script + […]

在Docker容器中启动Jenkins

我想在Centos7的Docker容器中运行Jenkins。 我看到了Jenkins的官方文档:首先,从Docker存储库中提取官方jenkins镜像。 docker pull jenkins 接下来,使用该映像和映射数据目录从容器运行一个容器到主机; 例如在下面的例子中,容器中的/ var / jenkins_home被映射到主机上当前path的jenkins /目录。 jenkins8080港口也暴露在主机作为49001。 docker run -d -p 49001:8080 -v $PWD/jenkins:/var/jenkins_home -t jenkins 但是,当我尝试运行docker容器时出现以下错误: /usr/local/bin/jenkins.sh: line 25: /var/jenkins_home/copy_reference_file.log: Permission denied 有人能告诉我如何解决这个问题?

如何向Dockerfile中的Jenkins for LDAPS添加SSL自签名证书?

我想在Jenkins的安全性下启用LDAPS,但是我的LDAP服务器有一个自签名的CERT。 有没有人做过这个或有一些指针呢? 我必须使用keytool吗? 在我的Dockerfile中,我正在尝试以下,但是这不起作用: FROM jenkins USER root # Install CA certs COPY ca-certificates.crt /etc/ssl/certs/ca-certificates.crt RUN chmod +r /etc/ssl/certs/ca-certificates.crt # Install the Jenkins plugin COPY plugins.txt /usr/share/jenkins/plugins.txt RUN /usr/local/bin/plugins.sh /usr/share/jenkins/plugins.txt # Expose container port 33838 for Jenkins UDP-based auto-discovery EXPOSE 33848/udp ENV JAVA_OPTS -Xmx2048m

jenkins工作的壳和bashdocker工人容器的不同的小组

我已经在Docker容器上安装了jenkins master,并在docker容器中使用Swarm插件运行一个slave。 我在docker slave中创build了一个组。 一旦我使用docker exec -it <container> bashinputslave容器并键入groups我创build的组被正确列出。 但是,当我将groups键入工作描述shell并在创build的从属服务器上执行作业时,我的组不会显示。 编辑 :奴隶容器:简单地启动一个jenkins奴隶作为用户jenkins 。 启动时,通过CMD [ "/startup.sh" ]执行以下代码(脚本:startup.sh)。 jenkins-slave.sh提供在https://gist.github.com/sfrehse/02c7d57fad862c71c20f07c59caba240下。 DOCKER_SOCKET=/var/run/docker.sock DOCKER_GROUP=dockergrp JENKINS_USER=jenkins if [ -S ${DOCKER_SOCKET} ]; then DOCKER_GID=$(stat -c '%g' ${DOCKER_SOCKET}) sudo groupadd -for -g ${DOCKER_GID} ${DOCKER_GROUP} sudo usermod -aG ${DOCKER_GROUP} ${JENKINS_USER} fi /usr/local/bin/jenkins-slave.sh 从bash启动后: docker exec -it 8b85afe2b360 groups输出jenkins dockergrp 。 触发包含以下代码的作业: whoami groups […]

在Jenkins运行eval执行shell

我想在Jenkins执行shell的代码行下面执行 eval "$(docker-machine env default)" 但它正在执行一些这样的事情 docker-machine env default 我能做些什么来使整个命令像Jenkins执行shell一样执行

Jenkinspipe道docker.image调用会生成一个超时

我最近升级了我的jenkins / Docker安装,因为我在我的jenkinspipe道脚本中运行一个docker的时候会随机遇到超时,在这个脚本中我开始了一个docker: docker.image("${dockerImage}").inside(' -v /opt/software/:/software/:Z'){ ….. } 这是随机发生的,我的作业崩溃,出现以下错误消息(请参阅此主题底部的扩展日志): ERROR: Timeout after 10 seconds 更新:我的pipe道脚本: stage('Build'){ node("master"){ withEnv(['GIT_SSL_NO_VERIFY=true']){ checkout([$class: 'GitSCM', branches: [[name: "$myGitSHA"]], doGenerateSubmoduleConfigurations: false, extensions: [], submoduleCfg: [], userRemoteConfigs: [[credentialsId:"${myGitCredentialsId}" , url:"${myGitUrl}" ]]]) } docker.image("${dockerImage}").inside(' -v /opt/software/:/software/:Z'){ // Cleaning any the previous build sh "make all" } // docker } // node } // […]

jenkinsGithub插件不能select我的凭据

很奇怪的行为,从来没有发生过,当我尝试在JenkinsconfigurationGithub服务器configuration设置webhooks自动,下拉菜单不显示我的注册凭据,我总是能够做到这一点,但突然间我不不知道发生了什么,我试图卸载插件,重新启动jenkins,杀了jenkinsdocker容器一个configuration所有的东西再次..仍然是相同的问题。 除了没有其他的select,没有其他的select,当我添加新的凭据,我仍然没有作为唯一的select..

jenkins使用docker:如何运行testing?

我正在使用docker for CI创build一个jenkinstesting环境。 我有一个安装了jenkins的容器,所有的工作都从我以前的jenkins移走。 现在我坚持这个问题,我需要运行需要数据库和PHP单元的testing。 我不想将这些安装在我的jenkins容器中,因为我有专门的DB,phpunit容器。 所以我的问题是我怎样才能触发jenkins的工作,在docker执行testing包含必要的先决条件。 我有两个select,但不知道是否可行, 选项1: 当你在jenkins中运行作业时,触发docker 运行[所有依赖的容器] [运行testing的脚本]但是我们不确定是否可以从容器内部触发docker run? 选项2: 创build一个新的容器,然后安装jenkins slave。 在主jenkins中添加该容器并在从站上运行testing。 确保从站链接到数据库和PHP单元容器。 这可能吗? 谢谢