Tag: jenkins

使用Eclipse,Maven,Git,Jenkins和Docker设置版本

我创build了一个Docker容器,其目的是运行一个实现REST API的Docker镜像。 REST API是使用Java创build的(使用Eclipse IDE,Maven和Spring Boot)。 当创build一个jar文件时,它(jar文件)的标题是:workserver-0.0.1-SNAPSHOT.jar 代码被提交给一个Gitlab服务器。 发生这种情况时,Jenkins就会创build一个工作。 Jenkins作业从Gitlab存储库中取出代码,创build一个.jar文件,然后执行操作将.jar文件转换为Docker镜像(或者Docker镜像的.zip版本)。 “scp”用于将zip文件移动到目标系统 – 其中 – .zip文件被解压缩(显示Docker镜像),并启动一个容器。 事情是,正在使用的Docker镜像版本是“最新”(例如:imagename:latest)。 我想在这个场景中使用Eclipse开始的版本(例如,一个包含目标workserver-2.2.13.jar文件的pom.xml文件将最终导致Docker镜像,名为imagename:2.3.13) 我已经在这里看到了如何在Docker中分配一个版本号: 从jenkins添加标签到docker图片我也看到,可以在Git中使用标签和版本号:例如:git tag -a v2.5 -m Version 2.5 '如上所述,Maven pom.xml文件包含用于生成一个.jar文件的说明:workserver-0.0.1-SNAPSHOT.jar 系统工作正常。 我可以在Eclipse中进行更改,在几分钟内,Docker容器的新版本就已经在交付系统上启动了 – 可以使用了。 我现在的问题是设置版本号。 任何在这方面的指导将不胜感激。 TIA

jenkins与GKE上的kubernetes

我是新的kubernetes与jenkins组合。 为此我做了一些教程。 我的目标是:1)build立docker图像2)将docker图像推送到GCR 3)在kubernetes中部署图像 我已经像教程一样安装了GKE 1:1。 https://cloud.google.com/solutions/continuous-delivery-jenkins-container-engine还做了这些教程:“jenkins-on-container-engine-tutorial”“configurations-jenkins-container-engine” 由于这些教程是相互依赖的,我已经完全从头开始多次完成它们,以避免来自我身边的错误。 问题是构build代理找不到docker命令! 我也尝试了一些像这个线程中的自定义图像: 在Jenkins从节点上运行的Jenkinsfile中执行docker build命令的最简单的方法是什么? 但似乎没有工作:(

如何在Jenkins多分支pipe道中拖拉docker图像并旋转容器?

我正在编写一个Jenkinsfile来创build多分支pipe道和Docker / Dockerpipe道插件的构build,以便在Jenkins中启动Docker容器。 我有一个图像,我想用来build立docker集装箱。 我需要从一个特定的url中提取这个图片: docker.abc.com ,运行容器,然后在容器中完成Jenkins的所有东西。 我目前收到以下错误: Jenkins does not seem to be running inside a container 我的代码看起来像这样: node { try { // set working directory dir(working directory here){ stage(main){ checkout scm docker.image("docker.abc.com/def:latest").inside{ // do Jenkins stuff } } } } catch { // catch error and send notification } }

我应该只在Docker镜像中拥有所需的环境或环境+应用程序本身

过去5天我一直在玩Docker。 现在我对此感到满意,不知道是否应该在构build它时将我的应用程序(例如战争文件),换句话说,将其添加到Dockerfile中,或者我应该生成一个将提供必要的图像我的应用程序的环境? 有最佳做法吗? 第二个选项似乎更有意义,例如,如果您不会在Jenkins中自动执行构build和部署。 但我仍然想知道。

pipe道上的dockerlogin错误

我无法通过Jenkinspipe道login我的docker我的代码如下。 // Build Docker image stage 'Build and Push code' withCredentials( [[ $class: 'UsernamePasswordMultiBinding', credentialsId: 'rkstar007', passwordVariable: 'DOCKERHUB_PASSWORD', usernameVariable: 'DOCKERHUB_USERNAME' ]] ) { sh "docker login -u '${env.DOCKERHUB_USERNAME}' -p '${env.DOCKERHUB_PASSWORD}'" sh "docker build -t rkstar007/mesosphere:${gitCommit()} ." sh "docker push rkstar007/mesosphere:${gitCommit()}" }

当图像被推入时,Docker触发jenkins作业

我试图build立一个jenkins工作(触发器build立远程)在docker形象构build,build立我在docker枢纽上得到的是: HISTORY ID Status Date & Time 7345… ! ERROR 10/12/17 10:03 原因(我认为):docker未经过身份validation发布到jenkinsurl。 问题:如何将图像推送到docker中心时自动触发作业?

与jenkins和docker工人一起使用django-jenkins

我试图在Jenkins上展示testing结果。 我的堆栈是,我把Django应用程序放在Docker镜像中,并且和Jenkins一起部署它。 里面yaml文件,我已经运行docker容器function,我把运行脚本。 – name: Run unit test script command: docker exec -i my_container /bin/bash -c './manage.py jenkins –enable-coverage' 生成进展顺利,如果我ssh(在terminal)到这台机器,并看看docker容器,我可以看到reports文件夹。 我的问题是,Jenkins里面,Workspace下我可以看到所有的文件,但不是reports文件夹。 因为(我认为),如果我添加Post-build Action -> Publish JUnit test result report我不能select文件夹里面的报告。 我猜: 我的猜测是jenkins无法看到泊坞窗图像,并在yaml命令触发之前以某种方式复制所有文件。 但是我不知道如何解决这个问题。

Jenkins声明式pipe道将不适用于Docker Swarm

运行这个简单的pipe道: pipeline { agent { label 'docker-swarm' } /* ——————- */ stages { stage("Build") { agent { docker { reuseNode true image 'maven:3.5.0-jdk-8' } } steps { sh 'mvn -version' } } } } 产生这个错误: Queued: All nodes of label 'docker-swarm' are offline 大约1分钟后,错误信息变为: Cannot connect to the Docker daemon. Is the docker daemon running […]

当jenkinsfile启动时,chromedriver在Docker中坠毁

在docker中用chrome运行量angular器testing有一些问题。 但是这个问题只发生在我们用jenkinsfile启动的时候。 手工一切都很好。 此代码在启动量angular器testing之前正在运行: nohup Xvfb -ac -screen 1 1280x1024x8 :1 & export DISPLAY=:1 我们没有办法继续… 这是我们的日志: [13:24:24] W/configParser – pattern ./e2e/specs/car/*UI.spec.ts did not match any files. [13:24:24] I/launcher – Running 1 instances of WebDriver [13:24:24] I/direct – Using ChromeDriver directly… [13:25:24] E/launcher – unknown error: Chrome failed to start: crashed (Driver info: chromedriver=2.33.506092 (733a02544d189eeb751fe0d7ddca79a0ee28cce4),platform=Linux 3.10.0-693.2.2.el7.x86_64 […]

用docker为jenkins设置多个容器化的build env slave

让server1上的jenkins和server2上的docker。 如何设置jenkins在Docker中为每个构build创build一个新的容器作为构build奴隶? 什么是正确的方法呢,使用kubernetes更好吗? 这个想法是使用容器作为构build奴隶,或者至less将每个构build发布到一个单独的容器中。