专栏首页Python乱炖在Linux 上部署Jenkins和项目

在Linux 上部署Jenkins和项目

Jenkins 是一个可扩展的持续集成引擎。

主要用于:

  • l 持续、自动地构建/测试软件项目。
  • l 监控一些定时执行的任务。

Jenkins拥有的特性包括:

  • l 易于安装-只要把jenkins.war部署到servlet容器,不需要数据库支持。
  • l 易于配置-所有配置都是通过其提供的web界面实现。
  • l 集成RSS/E-mail通过RSS发布构建结果或当构建完成时通过e-mail通知。
  • l 生成JUnit/TestNG测试报告。
  • l 分布式构建支持Jenkins能够让多台计算机一起构建/测试。
  • l 文件识别:Jenkins能够跟踪哪次构建生成哪些jar,哪次构建使用哪个版本的jar等。
  • l 插件支持:支持扩展插件,你可以开发适合自己团队使用的工具。

目前持续集成(CI)已成为当前许多软件开发团队在整个软件开发生命周期内侧重于保证代码质量的常见做法。它是一种实践,旨在缓和和稳固软件的构建过程。并且能够帮助您的开发团队应对如下挑战:

软件构建自动化 :配置完成后,CI系统会依照预先制定的时间表,或者针对某一特定事件,对目标软件进行构建。

构建可持续的自动化检查 :CI系统能持续地获取新增或修改后签入的源代码,也就是说,当软件开发团队需要周期性的检查新增或修改后的代码时,CI系统会不断确认这些新代码是否破坏了原有软件的成功构建。这减少了开发者们在检查彼此相互依存的代码中变化情况需要花费的时间和精力(说直接一点也是钱啊,呵呵)。

构建可持续的自动化测试 :构建检查的扩展部分,构建后执行预先制定的一套测试规则,完成后触发通知(Email,RSS等等)给相关的当事人。

生成后后续过程的自动化 :当自动化检查和测试成功完成,软件构建的周期中可能也需要一些额外的任务,诸如生成文档、打包软件、部署构件到一个运行环境或者软件仓库。这样,构件才能更迅速地提供给用户使用。

关于Jenkins就说这么多,下面我们来部署Jenkins。

首先准备工作:一台Linux机器,jdk的tar包,tomcat的tar包。

链接:

https://pan.baidu.com/s/1e0ebyHM6hsByrXBcKy-F5A

密码:

pvxj

拿到之后我们需要将这些tar包传到Linux系统上,这个时候我们可以使用scp进行上传.

这个scp口令是在自己的电脑上敲的(打开windows powershell,mac可以直接敲),如果不使用这个,也可以使用sftp,winscp等文件传输工具。

scp -r /Users/wuyuqing/Desktop/jdk-8u144-linux-x64.tar.gz root@xx.xx.xx.xx:/usr/local

然后输入密码即可。

xx.xx.xx.xx代表Linux server的ip地址。

scp -r /Users/wuyuqing/Desktop/apache-tomcat-7.0.81.tar.gz root@xx.xx.xx.xx:/usr/local

1、安装配置Java

现在我们在/usr/local的目录下就有了jdk这个东西了。

下面我们来操作:

cd /usr/local

mkdir java

mv jdk-8u144-linux-x64.tar.gz /usr/local/java/jdk-8u144-linux-x64.tar.gz

cd java

tar -zxvf jdk-8u144-linux-x64.tar.gz

待解压完毕,我们会发现在Java的文件夹下面多了一个jdk1.8.0_144的文件夹。

之后我们配置Java的环境变量:

vim /etc/profile

按i进入INSERT模式,把下面的内容粘贴进去:

export JAVA_HOME=/usr/local/java/jdk1.8.0_144

export PATH=$JAVA_HOME/bin:$PATH

export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

粘贴好了之后按Esc退出INSERT模式,输入:wq保存配置文件

为了使刚刚配置的文件能够立即生效我们需要source一下,否则就只能等重启他才会生效了。

source /etc/profile

这样我们的Java就算配置好了,接下来我们可以输入下面的口令检查Java的版本信息,如果你安装成功了就会输出Java的版本信息,如果你配置失败了就不能识别Java命令,就要看看有没有哪里漏掉了!

2、安装配置Tomcat

Tomcat是一个免费的开源的web应用服务器,特点是技术先进,性能稳定,而且免费。 例如我们的Jenkins就可以搭建在tomcat中。

按照刚刚scp上传的路径,我们现在在/usr/local的目录下应该会有apache-tomcat-7.0.81.tar.gz文件。

cd /usr/local

mkdir tomcat

mv apache-tomcat-7.0.81.tar.gz /usr/local/tomcat/apache-tomcat-7.0.81.tar.gz

cd tomcat

tar -xzvf apache-tomcat-7.0.81.tar.gz

vim /etc/profile

将下面的文字粘贴到profile文件中

export CATALINA_BASE=/usr/local/tomcat/apache-tomcat-7.0.81

export CATALINA_HOME=/usr/local/tomcat/apache-tomcat-7.0.81

下面我们就可以启动tomcat了,tomcat默认是8080端口,我们可以自由修改它的端口,进入apache-tomcat的目录,进入conf文件夹找到server.xml在文件里面找到8080,将8080修改成你想要的端口就可以。但是在修改之前要检查一下端口有没有被其他应用占用。

netstat -apn|grep 8080

如果没有显示任何信息就是没有被占用,如果有就证明被占用了。那我们就最好不要使用这个端口。

配置好端口后,我们就可以启动tomcat了,在apache-tomcat主目录下找到bin文件夹。

cd bin

./startup.sh

这样就启动tomcat了

如果你想把tomcat关闭,那可以在这个目录下敲

./shutdown.sh

为了是其他的机器从外面能够访问,我们需要把tomcat的端口号设为白名单,这时候我们需要使用iptables

vi /etc/sysconfig/iptables

将下面内容添加到iptables里面

-A INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT

8080是tomcat的端口号,如果你修改了,那也需要将这个8080替换成你修改的端口号。

然后重启防火墙

service iptables restart

就完成tomcat的部署了。

4、安装maven依赖

sudo apt-get install maven(Ubuntu)

sudo yum install maven(centos)

查看mave版本信息

mvn -version

5、安装git

既然我们需要在Jenkins上部署项目,那肯定要去服务器上拉项目啊,这个时候就需要git仓库了,本文是以github上的公有repo(项目)为例子,将repo对应的GitHub地址放到Jenkins里面就可以了。

安装git

sudo apt-get install git(Ubuntu)

sudo yum install git(centos)

安装结束之后查看git版本信息

git --version

6、部署Jenkins

首先我们需要下载Jenkins的war包 ,将war包放到apache-tomcat的webapps的目录下:

cd /usr/local/tomcat/apache-tomcat-7.0.81/webapps

wget http://mirrors.jenkins-ci.org/war/latest/jenkins.war

这个时候我们的tomcat会自动解压Jenkins的压缩包,将Jenkins部署成网站。

刚开始进入的时候我们需要密码,这是Jenkins自动生成的,我们需要获取这个密码,粘贴到这里:

cat /var/lib/jenkins/secrets/initialAdminPassword

然后点击确认就可以进入了。

这时候Jenkins会让我们创建一个自己的用户,以后就依靠这个管理员用户登陆了。

这样,我们的Jenkins就算部署好了。

6、在Jenkins上部署项目

这里随便创建一个项目

https://github.com/johnturingwu/helloworld

下面我们在Jenkins上进行部署。

进入主页,选择New Item:

进入创建项目的页面,这里我们freestyle,如果使用pipeline需要会编写pipeline脚本,当然如果事先就写好pipeline脚本的也可以选择pipeline,点击OK,完成,进入项目的添加页面:

点击OK后会进入下面这个页面,我们在里面填写信息。

第一个是项目描述,随便写,第二个框是用了设置删除构建的时间的,第一个是保存构建的天数,第二个是保存构建的个数,超过设定数量,之前保存的将会被删除。

下面添加项目代码,将项目代码的地址粘贴进去

如果是私有项目,需要在Add里面配置私有key,还要在GitHub的项目上将server的公钥配置到GitHub。

这边设置构建时间,为这边设置的是60min,也就是一个小时,Jenkins就会去检查一下Git服务器代码是否有变化,有的话就会触发构建操作。

钩上,每次构建开始的时候,删除构建空间。

这边在build项目的时候,我们使用最简单的构建 execute shell,这样就可以在里面执行shell命令了,我们这边就简单的运行代码。

然后点击save就算完事了。

下面我们就让Jenkins构建代码。

点击build now就可以构建了。

项目会在这里进行构建,构建完毕他会显示结果,如果是OK的他会显示蓝色的圆点,如果是有问题的会显示红色的圆点。

这边是蓝色的点,我们构建成功了。

我们等它构建完毕,然后我们点进去console里面可以看到它打印的结果。

可以看到项目执行的结果和log。

到这里,我们的Jenkins和项目部署就算完成了。

本文分享自微信公众号 - Python乱炖(Cooking_python),作者:我被狗咬了

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-06-11

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 我什么也不懂,能搞个自己的网站吗?能!

    sudo apt-get install \ apt-transport-https \ ca-certificates \ curl ...

    我被狗咬了
  • 看到自己的朋友圈,我和我的小伙伴都惊呆了

    我们每天日常都在做的事情不再只是吃饭喝水睡觉了,还多了一条--------刷朋友圈。经过某数据统计,我们生活中每人每天平均花在刷朋友圈的时间竟高达两个小时。这样...

    我被狗咬了
  • 知否知否-----selenium知多少(二)

    上期我们讲了一些selenium一些最近的元素定位,触发事件,等待等等,今天我们继续来看看接下来的知识点。

    我被狗咬了
  • Tomcat 的安装与优化

    Tomcat服务器是一个免费的开源web应用服务器,属于轻量级应用服务器,在中小型系统和并发用户不是很多的场合中被普遍使用,是开发和测试JSP程序的首选。一般来...

    小手冰凉
  • PHP-MVC框架类实现

    cwl_java
  • 一文搞定前端 Jenkins 自动化部署

    这两天折腾了一下 Jenkins 持续集成,由于公司使用自己搭建的 svn 服务器来进行代码管理,因此这里 Jenkins 是针对 svn 服务器来进行的配置,...

    前端劝退师
  • CentOS安装配置

    用户3004328
  • 使用Jenkins持续集成前端项目并自动化部署到Nginx服务器

    上午折腾了一下Jenkins持续集成,由于公司使用自己搭建的svn服务器来进行代码管理,因此这里Jenkins是针对svn服务器来进行的配置,后面稍微介绍了下针...

    前端下午茶
  • Python+Selenium笔记(十一):配置selenium Grid

    (一) 前言 Selenium Grid可以将测试分布在若干个物理或虚拟机器上,从而实现分布方式或并行方式执行测试。 这个链接是官方的相关说明。 https:/...

    free赖权华
  • 走出国门!中国 DevOps 力量欧洲首秀

    ? 春节前夕,应国外社区邀请,我和雪峰同学代表DevOps时代与高效运维社区游了一趟欧洲!为大家带了很多干货. 今天先跟大家分享一些美图,有大牛、有美食、有美...

    DevOps时代

扫码关注云+社区

领取腾讯云代金券