在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等等)给相关的当事人。

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



640.jpg



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


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

链接:

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

密码:

pvxj

640.png


拿到之后我们需要将这些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

640.png


然后输入密码即可。

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命令,就要看看有没有哪里漏掉了!


640.png


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修改成你想要的端口就可以。但是在修改之前要检查一下端口有没有被其他应用占用。

640.png

netstat -apn|grep 8080

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


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

640.png

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


640.png

5、安装git

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

安装git

sudo apt-get install git(Ubuntu)

sudo yum install git(centos)

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

git --version

640.png


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部署成网站。

640.jpg


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

cat /var/lib/jenkins/secrets/initialAdminPassword

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

640.jpg

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

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


6、在Jenkins上部署项目

这里随便创建一个项目

https://github.com/johnturingwu/helloworld


640.jpg

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

进入主页,选择New Item:

640.jpg

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

640.jpg


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

640.jpg


640.jpg

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

640.jpg

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

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

640.jpg


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

640.png


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

640.png


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

640.png


然后点击save就算完事了。


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

640.jpg

点击build now就可以构建了。

640.jpg

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

640.png

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

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

640.png640.jpg



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

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


相关实践学习
CentOS 7迁移Anolis OS 7
龙蜥操作系统Anolis OS的体验。Anolis OS 7生态上和依赖管理上保持跟CentOS 7.x兼容,一键式迁移脚本centos2anolis.py。本文为您介绍如何通过AOMS迁移工具实现CentOS 7.x到Anolis OS 7的迁移。
相关文章
|
3月前
|
Ubuntu Linux 测试技术
Linux系统之部署轻量级Markdown文本编辑器
【10月更文挑战第6天】Linux系统之部署轻量级Markdown文本编辑器
183 1
Linux系统之部署轻量级Markdown文本编辑器
|
12天前
|
消息中间件 Linux
Linux:进程间通信(共享内存详细讲解以及小项目使用和相关指令、消息队列、信号量)
通过上述讲解和代码示例,您可以理解和实现Linux系统中的进程间通信机制,包括共享内存、消息队列和信号量。这些机制在实际开发中非常重要,能够提高系统的并发处理能力和数据通信效率。希望本文能为您的学习和开发提供实用的指导和帮助。
72 20
|
26天前
|
消息中间件 Java Kafka
【手把手教你Linux环境下快速搭建Kafka集群】内含脚本分发教程,实现一键部署多个Kafka节点
本文介绍了Kafka集群的搭建过程,涵盖从虚拟机安装到集群测试的详细步骤。首先规划了集群架构,包括三台Kafka Broker节点,并说明了分布式环境下的服务进程配置。接着,通过VMware导入模板机并克隆出三台虚拟机(kafka-broker1、kafka-broker2、kafka-broker3),分别设置IP地址和主机名。随后,依次安装JDK、ZooKeeper和Kafka,并配置相应的环境变量与启动脚本,确保各组件能正常运行。最后,通过编写启停脚本简化集群的操作流程,并对集群进行测试,验证其功能完整性。整个过程强调了自动化脚本的应用,提高了部署效率。
【手把手教你Linux环境下快速搭建Kafka集群】内含脚本分发教程,实现一键部署多个Kafka节点
|
25天前
|
Ubuntu 网络协议 Linux
快速部署WSL(Windows Subsystem for Linux)
WSL提供了一种轻量级的方法,使开发者能够在Windows上无缝运行Linux环境。通过本文介绍的步骤,可以快速安装、配置和使用WSL,以满足开发和测试的需求。
101 8
|
3月前
|
搜索推荐 Linux 测试技术
Linux系统之部署homer静态主页
【10月更文挑战第11天】Linux系统之部署homer静态主页
96 41
Linux系统之部署homer静态主页
|
1月前
|
运维 jenkins Java
Jenkins 自动化局域网管控软件构建与部署流程
在企业局域网管理中,Jenkins 作为自动化工具,通过配置源码管理、构建及部署步骤,实现了高效、稳定的软件开发与部署流程,显著提升局域网管控软件的开发与运维效率。
52 5
|
3月前
|
运维 监控 Linux
Linux系统之部署Linux管理面板1Panel
【10月更文挑战第20天】Linux系统之部署Linux管理面板1Panel
204 3
Linux系统之部署Linux管理面板1Panel
|
3月前
|
Web App开发 资源调度 网络协议
Linux系统之部署IP工具箱MyIP
【10月更文挑战第5天】使用Docker部署Radicale日历和联系人应用Linux系统之部署IP工具箱MyIP
154 1
Linux系统之部署IP工具箱MyIP
|
3月前
|
Linux Shell 异构计算
在linux上部署yolov5和安装miniconda3
这篇文章介绍了在Linux系统上部署YOLOv5并安装Miniconda3的步骤,包括使用wget命令下载Miniconda安装脚本、安装Miniconda、初始化Conda环境、添加镜像源等。
174 3
在linux上部署yolov5和安装miniconda3
|
2月前
|
消息中间件 Linux RocketMQ
在Red Hat Enterprise Linux 9上使用Docker快速安装并部署
通过以上步骤,你可以在Red Hat Enterprise Linux 9上使用Docker快速安装并部署RocketMQ。这种方法不仅简化了安装过程,还提供了一个灵活的环境来管理和扩展消息队列系统。RocketMQ作为一款高性能的分布式消息系统,通过Docker可以实现快速部署和高效管理。
97 2

热门文章

最新文章