Jenkins

jenkins nodejs 版本问题

不打扰是莪最后的温柔 提交于 2020-04-09 16:53:40
步骤: 1. 启动jenkins 2. node -v (6版本) 3.jenkins发布报错提示需要node8版本 4.source ~/.bash_profile (修改环境变量变成node8)(执行source ~/.bash_profile 彻底退出,再进node -v查看确保没问题) 5.jenkins发布报错提示需要node8版本 (node环境没有生效?) 6.重启jenkins,再发布 好了(启动jenkins后,jenkins应该会缓存当前node的环境变量) 来源: oschina 链接: https://my.oschina.net/xiaominmin/blog/3226145

Jenkins入门系列之——00答疑解惑

三世轮回 提交于 2020-04-09 12:54:31
写在最前的总结:Jenkins其实就是一个工具,这个工具的作用就是调用各种其他的工具来达成你的目的。比如你要获取Subversion上最新的源代码,Jenkins会去调用SVNKIT(插件的核心Jar的名称)。然后你需要编译源代码(假设是用maven编译),Jenkins会去调用maven的插件。最后你可能需要发布程序到服务器上(假设是使用的Tomcat提供服务),你可以通过Tomcat自己的API发布程序(有个插件就是通过这个功能实现的发布),你也可以通过ssh通道自己写shell脚本去实现。总之,Jenkins就是一箱工具,在它能力范围内你想干什么都可以。 Q:Jenkins是什么? A:百度一下你就知道! Q:Jenkins有哪些版本? A:这个版本太多了,具体去看官网吧!www.jenkins-ci.org Q:应该选择哪个版本的Jenkins? A:如果你是公司正式使用推荐长期支持版(LTS),原因:稳定。如果你是学习,随便哪个版本都可以。 Q:JDK应该安装哪个版本的? A:推荐安装JDK7,原因:某些插件必须要求JDK7的支持。比如: Monitoring 插件 Q:Tomcat应该用哪个版本的? A: Tomcat6或者7都可以。如果你要用Tomcat5.5的版本,我劝你趁早扔掉。不然一堆稀奇古怪的错误,看得你头晕。 Q: 可以直接用命令启动么? A: 可以。命令

python+unittest 接口自动化配置linux jenkins构建

天涯浪子 提交于 2020-04-09 11:07:36
1.在linux服务器上下载接口脚本中使用到的插件,如requests,我们服务器上有两个python版本,我的脚本是py3的,所以要指定下载,如下 [10:56 root@cctest200 ~]# pip install -t /usr/local/lib/python3.6/site-packages/ requests 2.脚本上传gitlab,上传命令请参考我上一篇博客 3.jenkins创建一个自由风格的项目,源码管理选择git,贴上你的仓库地址 4.execute shell,第一行可能要根据各公司的路径不同做调整,第二行是你要运行的脚本路径--这里我有一车的话要讲,等下看最后 5.jenkins 下载html report 插件,第一行写你报告存放的文件夹名称(相对路径),我这里默认的是 /home/jenkins/workspace/huj_paycenter/report 第二行是默认的报告名称,这里建议不要改动,并且把你生成的报告名称改成一模一样的,每次生成报告后覆盖;不要搞成test+时间之类的,亲测可能报404错误;page tiltle随便写,最后一行不用动;我对路径这个真的不熟,以至于我觉得在pycharm上运行没问题,搬到服务器上也一样ok了(天真),昨天反复测试,发现运行虽然没报错,但是始终没产生最新的报告,就在于我这个./report写成了

linux基础命令-生成ssh密钥

陌路散爱 提交于 2020-04-09 04:04:34
需求:在配置jenkins持续部署的时候需要配置SSH但是我基本忘记了,并且遇到了错误 Failed to connect change directory:jenkins.plugins.publish_over.BapPublisherException:Failed to conn 创建一个SSH KEY ssh-keygen -t rsa 命令行出现: 询问你输入SSH KEY的文件名,默认是id_rsa/id_rsa.pub Enter file in which to save the key ( /root/.ssh/id_rsa ) : 询问你输入密码,记住passphrase,在jenkins会非常有用 Enter passphrase ( empty for no passphrase ) : 这两个直接空格就可以,方便快捷。 2. 之后会在/root/.ssh目录下看到三个文件 id_rsa(私钥), id_rsa.pub(公钥), authorized_keys 3. 将id_rsa.pub中的内容粘贴到应用服务器的/root/.ssh/authorized_keys下,若是没有自己创建。 点赞 1 收藏 分享 文章举报 天又热了 发布了140 篇原创文章 · 获赞 81 · 访问量 1万+ 私信 关注 来源: oschina 链接: https://my

Jenkins部署Python代码,selenium.common.exceptions.WebDriverException: Message: unknown error: cannot f...

冷暖自知 提交于 2020-04-09 01:01:22
本地直接执行代码是可以的,但是部署到Jenkins上面,立即构建却报错: selenium.common.exceptions.WebDriverException: Message: unknown error: cannot find Chrome binary 这种报错,一般是2种原因 一:Chromedriver.exe与Chrome版本不一致导致 二:Jenkins未找到Chrome浏览器 下面是解决方案 第一种情况: 先附上最新的匹配的Chromedriver.exe与Chrome版本 链接:https://pan.baidu.com/s/1qZ0IQRKEzHppZAHpHgjdzA 提取码:plkr 请下载安装,如果还有问题,请继续操作第二种解决方案 题外话,现在Chrome会自动更新,一旦更新,Chromedriver.exe也要重新下载,匹配,太麻烦了,下面是禁止自动更新的办法 删掉此目录的下web data文件,就不会在自动更新了 第二种情况: 1,首先配置Jenkins的子节点,添加环境变量 找到manage nodes,配置环境变量 环境配置好之后,在去构建,如果还是不行,把chromedriver.exe文件,放到刚刚配置的Chrome的路径下 以上步骤就是此报错的解决方法,如果不能解决,可以留言 来源: oschina 链接: https://my

性能优化之三:将Dottrace过程加入持续集成

不羁的心 提交于 2020-04-08 23:50:53
之前分享过一篇 如何做接口性能分析 的文章,但是整个分析过程有点繁琐,需要写一个控制台程序调用被测接口,再预热、启动dottrace追踪,最后才能得到我们想要的性能分析报告。如果有办法一键生成性能分析报告,那就会省很多不必要的时间。这里我们就借助Jenkins自动化完成这一过程。 目标: 把Dottrace的性能分析集成到Jenkins中,使我们在构建的时候,可以触发Dottrace分析指定方法,并生成相关测试报告。 步骤: 开发一个业务程序的Host程序,这个程序可以通过反射调用被测的业务方法; 在Jenkins中,通过PowerShell调用Dottrace的CommandProfile执行Host程序,Host程序再执行被测业务方法,生成报告。 通过邮件把生成的报告发送到我们指定的邮箱 开发Host程序 1. 按照我们公司的规范,每个接口都需要创建UnitTest,用于调试具体某个业务方法。那么,我们被测程序自然就选择这些UnitTest。 2. 做一个PerformanceAnalysisAttribute类,用于标识该方法将被用来执行性能分析。 [AttributeUsage(AttributeTargets.Method)] public class PerformanceAnalysisAttribute:Attribute { public

Get Jenkins job build queue length

风格不统一 提交于 2020-04-08 13:56:41
Jenkins API doesn’t provide the job build queue length. Hence, it seems we have to parse the html to get the job build queue length Jenkins API 没有提供job build 队列长度,所以貌似只能用解析Html的方法取之。 Python: from BeautifulSoap import BeautifulSoap import requests JENKINS_JOB_URL = 'http://jenkins_url/job/%s' def get_job_queue_length(job_name): r = requests.get(JENKINS_JOB_URL % job_name) soup = BeautifulSoup(r.text) queue_item = soup.findAll(attrs={'class': 'build-row build-pending transitive single-line'}) length = len(queue_item) return length 来源: https://www.cnblogs.com/liangnote/p/5083092.html

DevOps 在公司项目中的实践落地

老子叫甜甜 提交于 2020-04-08 12:59:28
DevOps究竟是什么 DevOps(Development和Operations的组合词)是一种重视“软件开发人员(Dev)”和“IT运维技术人员(Ops)”之间沟通合作的文化、运动或惯例。透过自动化“软件交付”和“架构变更”的流程,来使得构建、测试、发布软件能够更加地快捷、频繁和可靠。——维基百科 DevOps是一种文化转变,或者说是一个鼓励更好地交流和协作(即团队合作)以便于更快地构建可靠性更高、质量更好的软件的运动。——Mike Kavis Mike Kavis是美国Cloud Technology Partners公司的副总裁兼首席架构师,他也更加详细地描述介绍说:DevOps是软件开发生命周期(SDLC)从瀑布式到敏捷再到精益的发展。DevOps超越了敏捷,它的关注点是从SDLC中移除浪费。通常情况下,发现浪费或者瓶颈的形式包括:不一致的环境,人工的构建和部署流程,差的质量和测试实践,IT部门之间缺少沟通和理解,频繁的中断和失败的协定以及那些需要珍贵的资源、花费重要的时间和金钱才能保持系统运行的全套问题。 他还看到另一个重复浪费是:一个DevOps团队的第一步通常是决定他们是否应该使用Chef或者Puppet(或者是Salt、Ansible等其他任何热门的东西)。他们甚至还没有定义自己打算解决的问题,即使他们手头的工具可以解决它们。这些团队通常会紧张地构建数千行脚本

What URL will get the status code (result) of the last Jenkins job?

人盡茶涼 提交于 2020-04-08 08:54:52
问题 I am wondering if anyone knows what URL is required (as a GET or POST) that will get the status code (result) of the last Jenkins job (when the build# is not known by the client calling the GET request)? I just want to be able to detect if the result was RED or GREEN/BLUE . I have this code sample, but I need to adjust it so that it works for Jenkins, for this purpose (as stated above): public class Main { public static void main(String[] args) throws Exception { URL url = new URL("http:/

Jenkins Choice parameter Passing to a pipeline Job

╄→尐↘猪︶ㄣ 提交于 2020-04-07 18:41:11
问题 Currently I have a pipeline job which has different paramters where one of this parameters is a Choice parameter. Here is the config.xml output of that job parameter: <hudson.model.ChoiceParameterDefinition> <choices class="java.util.Arrays$ArrayList"> <a class="string-array"> <string>f1</string> <string>f2</string> <string>f3</string> <string>f4</string> </a> </choices> <name>WHERE</name> <description>Something</description> </hudson.model.ChoiceParameterDefinition> Now I can call this job