我正在设法做下面的事情(应该很简单,但是我找不到办法,对不起): 我有一个与几个git子模块的大项目。 当对子模块进行更改时,我希望此子模块在不构build全部项目的情况下构build。 这是可能的吗? 提前致谢
如何集成Sonarqube 5.4与jenkins进行scala代码分析? 我已经看到像第三部分插件 github.com/Sagacify/sonar-scala,github.com/RadoBuransky/sonar-scoverage-plugin,github.com/ncredinburgh/sonar-scalastyle,github.com/scoverage/scalac-scoverage-plugin, 但他们似乎没有工作。 有没有其他方式进行scala分析? sonarqube默认做java分析。 我想要scala代码分析
我们在数字海洋上build立了一个可扩展的网站,我们在负载平衡器后面安装了多个PHP网页服务器。 目前,每个服务器都有一个cron作业和一个自动从发布分支中拉出来的git用户,这样,无论何时将更改推送到发布分支,它都会每5分钟自动拉到服务器上。 这个工作没问题,但是我们想把这个版本放在Jenkins的职责范围之内,因为显然这是一个非常不灵活的解决scheme。 问题是因为我们有一个可变数量的部署服务器,把这个任务移到Jenkins也意味着我们每次更改服务器configuration(如果我们扩大或缩小)都需要更新Jenkins。 我的问题是,Jenkins和数字海洋还是任何可扩展的托pipe平台都可以和Jenkins连接起来,这样我们每次更换服务器环境都不需要更新Jenkins。
我使用Jenkins的“通过SSH插件发布”将相同的一组文件传输到一组主机,然后在那里运行一个小脚本。 然而,使用“添加服务器”function要求我为每个附加服务器重复源文件,远程目录和exec命令。 https://wiki.jenkins.io/display/JENKINS/Publish+Over+SSH+Plugin 我正在寻找的是一种指定一个ssh服务器列表的方法,插件应该被执行,最好是并行的,尽pipe服务器的数量(4-12)对于一个顺序stream也是足够小的。 一些项目的具体情况: 发布任务是将JMeter服务器传输到多个负载生成器并在那里启动 它现在是“构build环境”部分的一部分,因为实际构build是JMeter场景的执行。 如果将这些步骤中的任何一个移到不同的部分更有意义,我对此表示欢迎。 预先感谢您的build议。
我已经安装了蓝色海洋插件,并创build一个简单的输出与打印信息。 当我运行pipe道时,build立作业与下面的消息挂起 Queued Jenkins is reserved for jobs with matching label expression 如何摆脱这个消息,并build立项目?
我有一个Docker镜像,我们称之为frontend.image ,用于Jenkins构build的从机。 Jenkins Docker插件将从这个图像旋转一个容器,并在容器内部构build工件。 这一切都很好。 在这种情况下, frontend.image被用来构build一个AngularJs应用程序。 构build这个Angular应用程序的一部分是安装应用程序需要的npm包。 这个过程,npm install,似乎需要很长时间,看起来好像是3分钟,npm每次都会安装每个包。 所以我为我的奴隶添加了一个卷,它是一个主机装入的卷,Docker插件每次运行前端容器时都会使用这个卷: 执行命令npm install的用户是jenkins 。 npm保留一个caching,你可以用命令npm config get cachefind它,它输出/home/jenkins/.npm 这就是为什么我有主机卷/slaves/volumes/tsl.frontend:/home/jenkins安装到我的Web容器奴隶。 我使用Jenkins项目构build了Angular应用程序,没有任何问题,安装了许多npm软件包。 如果ssh进入我的Docker主机并运行cmd ls /slaves/volumes/tsl.frontend我会看到很多的npm包。 这意味着我的主机卷挂载的奴隶工作。 现在我再次构buildJenkins项目,npm再次安装每个包,即使Docker slave构build容器正在使用卷主机装载。 我甚至可以通过使用cmd docker exec -it <some_clever_random_container_id> bash到slave容器来确认,然后cmd su jenkins然后cmd npm cache ls其中列出了许多caching的npm包。 所以,即使我的主机安装卷,其中有权限chmod 777的方式,所以没有权限问题,我不能让npm install使用caching。 我尝试了常规的npm install cmd,当我在本地主机上运行时,第一次安装所有的软件包,下次几乎没有软件包。 还有npmcaching“hack” npm –cache-min 9999999 install ,取自这个SO回答以及cmd npm –skip-installed –cache-min 9999999 install
我有一个Jenkins安装,可以作为本地主机:8080访问,或者如果作为[网站IP地址]访问外部:8080 我想做一些像[网站IP地址] /jenkins而不是IIS知道redirect到本地:8080内部访问时,像这样。 这是我的web.config文件: <?xml version="1.0" encoding="UTF-8"?> <configuration> <system.webServer> <rewrite> <rules> <rule name="ReverseProxyInboundRule1" stopProcessing="true"> <match url="(jenkins.*)" /> <action type="Rewrite" url="http://localhost:8080/{R:1}" /> </rule> </rules> </rewrite> </system.webServer> </configuration> 不幸的是,当我试图访问[我的IP地址] / jenkins我得到一个404 …
问题: 在将一个在Jenkinsfile中声明的variables传递给shsh并在远程主机上执行的sh命令中,variables内容不会保留在远程主机上。 内置的Jenkinsvariables在本地和远程主机上保持良好状态。 我定义的variables在本地工作正常,但不在远程主机上转换 虽然这个问题引用了docker,但实际上它是100%的Jenkins Pipeline,因为它可以适用于有或没有docker的任何示例 背景: 我试图根据当前的构build标签dynamic地创build一个图像名称,并将该名称放入一个variables。 然后,我将这个variables传递给sh步骤,远程执行一个docker主机并运行一个构build步骤。 Jenkinsfile的适用部分的片段… // below stage just echo's out some stuff into a file dockerimgname.jenkins.out stage ('Construct Img name') { sh '''echo ${BUILD_TAG} | awk '{print tolower($0)}' | sed 's/jenkins-//' > dockerimgname.jenkins.out''' } // This stage reads that file from previous stage and puts the value into variable. […]
我正在使用Thinkbackup将数据从一台计算机(具有域的计算机中的标准安装)导出到另一台计算机(使用正式的Docker容器 ,现在位于testing域中,但将来与之前位于同一台计算机中)。 Thinkbackup是执行其默认文件夹。 在configuration中不会跳过或添加文件夹。 备份的安装似乎是正确的:我有我所有的工作,我可以正确执行它们。 我所有的用户都在那里,我可以使用他们的凭据login。 默认情况下,安装向导处于禁用状态,新安装无需任何额外的configuration即可正常运行。 另外, 正式的Docker容器文档中描述的插件是正确安装的。 我没有使用(但)反向代理。 不过,当jenkins的电子邮件通知器启动一个电子邮件(即一个作业失败)时,我从SMTP服务器得到一个未经授权的错误。 另外,如果我使用jenkins Configure system的选项来testing电子邮件,我会得到相同的错误。 似乎证书不正确。 当然,如果我再次设置用户密码(相同的密码),它完美的工作。 我已经检查了文件hudson.tasks.Mailer.xml ,我认为这是存储所有电子邮件凭据的地方,ThinBackup正确地复制它。 那么我的假设是密码是无效的任何理由。 我不知道使用哪种encryption方法来存储电子邮件密码的细节,也不知道如何使用一些不是从一台计算机复制到另一台计算机的盐或种子,因此encryption的密码不再有效。 但是,由于用户的密码被正确复制,我不认为这是与此有关。 这不是一个大问题,因为我可以手动设置它,但是我假装将整个stream程自动化为具有所有公司configuration的docker集装箱生成。 如果电子邮件服务器设置也可以复制的话,这将是一件好事。 有没有可能复制电子邮件密码? 我错过了一些必须复制的东西吗?
我正在尝试使用Jenkins作为docker集装箱。 为此,我使用官方docker图像 。 因为我们有一些基于Selenium(Vaadin Workbench)的集成testing,所以我需要运行phantomjs。 与docker化之前一样,testing正确执行。 我的Web应用程序(服务器)正确执行,phantomjs稍后作为客户端启动,并正确执行所有testing。 这是预期的行为。 现在我喜欢在高山体系中使用jenkins的想法。 一般来说,由于体积小,我在其他docker集装箱中使用阿尔派。 jenkinsdocker官方形象也有一个阿尔卑斯山的形象,我可以使用它。 一般来说,我没有问题,我需要安装其他工具(ansible,…)。 而且他们在阿尔卑斯山版本中效果很好。 但是我正面临一个幻影问题。 首先,我从github项目安装phantomjs,这个项目有一个高山编辑。 这里有我使用的命令: RUN apk –no-cache add fontconfig && \ mkdir -p /usr/share && \ curl -L https://github.com/Overbryd/docker-phantomjs-alpine/releases/download/2.11/phantomjs-alpine-x86_64.tar.bz2 | tar xj –directory /usr/share && \ chmod +x /usr/share/phantomjs/phantomjs && \ ln -s /usr/share/phantomjs/phantomjs /usr/bin/phantomjs 看来工作正常。 如果我使用docker exec -it jenkins sh来访问docker exec -it […]