Tag: jenkins

Jenkinsfile从quay.io触发器插件触发一个工作

我正试图从一个自由式项目转移到多分支pipe道构build。 当我将新的容器推送到我的Quay.io存储库时,我想让我的Jenkinsfile触发。 在Freestyle项目中,我可以用Quay.io触发器插件来完成这个任务。 转到多分支构buildpipe道我已经find了这个post ,描述了如何在dockerhub触发器上触发。 我还使用了Jenkinspipe道语法“向导”来生成要添加到我的Jenkins文件中的代码: properties([[$class: 'ScannerJobProperty', doNotScan: false], [$class: 'RebuildSettings', autoRebuild: false, rebuildDisabled: false], [$class: 'ThrottleJobProperty', categories: [], limitOneJobWithMatchingParams: false, maxConcurrentPerNode: 0, maxConcurrentTotal: 0, paramsToUseForLimit: '', throttleEnabled: false, throttleOption: 'project'], pipelineTriggers([[$class: 'QuayIoTrigger', repositories: ['hostedsparkbots/janitorbot-timer', 'hostedsparkbots/janitorbot', 'hostedsparkbots/sparky']]])]) 在上面的情况下,当我扫描我的github存储库时,我从jenkins控制台上得到了一个backtraces 墙 : java.lang.IllegalArgumentException: java.lang.ClassCastException@712ddbf9 at sun.reflect.GeneratedMethodAccessor4447.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.jenkinsci.plugins.structs.describable.Setter$1.set(Setter.java:33) at org.jenkinsci.plugins.structs.describable.DescribableModel.injectSetters(DescribableModel.java:338) at […]

无法通过Jenkins声明式pipe道更改Docker容器内的目录

我正在尝试使用这里列出的dir命令来更改当前目录: https : //jenkins.io/doc/pipeline/steps/workflow-basic-steps/#code-dir-code-change-current-directory 我编辑了我的pipe道,类似于这样的东西: pipeline { agent { dockerfile true } stages { stage('Change working directory…') { steps { dir('/var/www/html/community-edition') { sh 'pwd' } } } } } 它根本不改变目录,而是尝试在主机上创build一个目录,并以java.io.IOException: Failed to mkdirs: /var/www/html/community-edition 使用sh cd /var/www/html/community-edition似乎也不起作用。 如何更改容器中的目录? 其他人似乎有同样的问题,但不得不改变他的pipe道结构来改变目录,听起来不是一个合理的解决办法。 是不是已经在容器中调用的步骤? https://issues.jenkins-ci.org/browse/JENKINS-46636

docker安装卷GID不匹配导致错误:拨号unix /var/run/docker.sock:连接:权限被拒绝

使用正式的jenkins图像,我已经安装了docker和docker-compose,并将jenkins添加到docker组(容器中的GID 999)。 之后,我分享了主机的/var/run/docker.sock,让jenkins创build“兄弟”容器。 原来的文件有GID 134,并且这个GID被挂载。 我收到以下错误: demo_1 | docker:在unix下连接Docker守护进程的时候被拒绝了:///var/run/docker.sock:发布http://%2Fvar%2Frun%2Fdocker.sock/v1.32/containers/create :拨号unix /var/run/docker.sock:连接:权限被拒绝。 demo_1 | 参见“docker运行 – 帮助”。 任何想法如何解决这个问题? 我最小的(还没有优化)Dockerfile是: FROM jenkins/jenkins:lts USER root RUN apt-get update && apt-get install -y apt-transport-https \ ca-certificates \ curl \ gnupg2 \ software-properties-common RUN curl -fsSL https://download.docker.com/linux/$(. /etc/os-release; echo "$ID")/gpg | apt-key add – RUN apt-key fingerprint 0EBFCD88 RUN add-apt-repository […]

jenkinspipe道/docker:jenkins似乎并没有在一个容器内运行

我正在尝试执行Jenkins Pipeline中的代码示例: https : //jenkins.io/doc/book/pipeline/docker/ node { /* Requires the Docker Pipeline plugin to be installed */ docker.image('maven:3-alpine').inside('-v $HOME/.m2:/root/.m2') { stage('Build') { sh 'mvn -B' } } } 给我这个错误: [Pipeline] withDockerContainer Jenkins does not seem to be running inside a container [Pipeline] // withDockerContainer 我不知道他为什么没有做任何事就这样停下来。 我已经在最新版本上安装了docker,docker插件/ dockerpipe道。 在configuration工具中,我添加了安装根path。 我错过了什么 ? 提前致谢

AWS ec2 + Jenkins掌握Docker Swarm代理

对不起,让你感到困惑,但我失去了插件,信息,方法等口气我会尝试解释我的工作stream程,我正在尝试做什么。 我有三个ec2实例(Master,node1,node2) 在主人我得到了Docker,我做了(docker swarm init –advertise-addr) 在ec2-Master上安装Jenkins(docker service create –name jenkins-master -p 50000:50000 -p 80:8080 jenkins) 在主ec2中创build一个SSH密钥(ssh-keygen -t rsa -C“blabla@gmail.com”) 在ec2 node1和node2(echo“ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAA …. blabla@gmail.com”>>〜/ .ssh / authorised_keys 我在Jenkins(config)中创build了新的节点: 截图 控制台输出: Screenshot2 服务器拒绝了ec2-user(credentialId …)的1个私钥是否是Docker中的问题? 你知道任何最简单的方法来创build新的Jenkins节点吗? 感谢您的时间!

在服务器级别限制Jenkins声明式stream水线代理?

我目前正在考虑用声明式pipe道构buildreplace一些现有的Jenkins构build。 Jenkinsfile允许我以许多方式(名称,标签,Docker镜像)指定代理,但是我真正需要的是在服务器级别限制这种情况的方法。 目标是强制所有基于pipe道的构build在Docker容器中运行,而不是直接在节点上运行。 这可能吗? 如果是的话:怎么样?

离子与docker和jenkinsbuild立

我是新来的docker工人,我想要离子环境/build造dockerized。 我有一些想法,但是我不清楚我是否可以在Docker中运行任何xcode命令。 步骤: – jenkinsdocker集装箱 – 如果我在运行Docker for MacOS的MacOS机器(我听说它不同于boot2docker,但我还没有尝试过)运行与jenkins作业的ios版本 – 与Android环境的docker集装箱 – 用jenkins工作运行一个android版本 有什么build议么?

如何使用Jenkins多分支pipe道将Docker镜像推送到DTR

我的问题是使用Jenkins多分支pipe道将docker映像推送到DTR。 我想以这样的方式configuration我的Jenkins文件,它将生成图像,然后按下它。 对于构build映像我将使用10.1.2.3机器和DTR将https://something.dtr01.eastus2.cloudapp.azure.com/ 我对jenkins是全新的,根据我已经把示例Jenkins文件放在git仓库里的说明。 请build议我在Jenkisfile中的configuration更改 node { // Clean workspace before doing anything deleteDir() try { stage ('Clone') { checkout scm } stage ('Build') { "echo 'shell scripts to build project…'" } stage ('Tests') { parallel 'static': { sh "echo 'shell scripts to run static tests…'" }, 'unit': { sh "echo 'shell scripts to run […]

如何链接Jenkins作业的两个容器?

我已经configuration了我的Jenkins在Docker容器中运行我们的构build作业和functiontesting。 例如,当我点击“Build Now”button时 – Jenkins将构buildGit中的Dockerfile并运行该容器,以便在此容器中完成Buildsteps(Jenkinsfile)。 我的问题是现在:我怎样才能启动另一个容器与MySQL服务器安装,并将其链接到我的生成作业容器每次我build立我的工作。 感谢您的任何提示。

我怎样才能在Jenkins(Pipeline)中为我的dockercontainer指定开始脚本?

我已经configuration了我的Jenkins在Docker容器中运行我们的构build作业和functiontesting。 例如,当我点击“Build Now”button时 – Jenkins将构buildGit中的Dockerfile并运行该容器,以便在此容器中完成Buildsteps(Jenkinsfile)。 我现在的问题是:如何在Jenkins-Pipeline中为我的Container指定开始脚本? 感谢您的任何提示。