在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和项目部署就算完成了。


相关文章
|
6月前
|
Kubernetes jenkins 持续交付
Artifact Hub在Kubernetes中的应用:部署Jenkins的脚本整理
以上步骤断言清晰明确地描述了如何通过Artifact Hub 使用Helm图表来部署Kubernetes 中得Jenkis 实例,并且提供了相应得Shell 脚本作为执行指南. 这样不但能够帮助用户快速地进行操作, 同时也能够通过自定义参数来满足不同用户需求.
187 5
存储 jenkins 持续交付
823 2
|
7月前
|
jenkins Java 持续交付
使用 Jenkins 和 Spring Cloud 自动化微服务部署
随着单体应用逐渐被微服务架构取代,企业对快速发布、可扩展性和高可用性的需求日益增长。Jenkins 作为领先的持续集成与部署工具,结合 Spring Cloud 提供的云原生解决方案,能够有效简化微服务的开发、测试与部署流程。本文介绍了如何通过 Jenkins 实现微服务的自动化构建与部署,并结合 Spring Cloud 的配置管理、服务发现等功能,打造高效、稳定的微服务交付流程。
832 0
使用 Jenkins 和 Spring Cloud 自动化微服务部署
|
8月前
|
Java jenkins 应用服务中间件
结合Jenkins与Tomcat,实施Maven项目的自动构建和部署流程。
任何项目构建和部署的自动化流程,总离不开对各个环节精细把控与密切配合。涉及到源代码管理、构建工具、持续集成服务器以及最终的运行时环境的协调。通过上述简洁实用的步骤,可以实现Maven项目从源代码到运行状态的无缝过渡,进而提升软件开发的效率与质量。
427 0
|
9月前
|
jenkins Java 持续交付
使用Jenkins完成springboot项目快速更新
本文介绍了使用Jenkins和WinSW实现SpringBoot项目自动化部署的完整流程。首先讲解了Jenkins作为持续集成工具的作用,然后详细说明了环境准备步骤:包括JDK版本管理、WinSW服务配置(含XML文件修改)以及bat启动脚本编写。重点演示了Jenkins的项目配置方法,包括源码管理设置和构建步骤中的Windows批处理命令调用。通过这套方案,开发者只需推送代码到Git仓库,即可触发Jenkins自动完成项目构建、服务重启等全流程,显著提升部署效率。文章还提到IDEA的Jenkins插件可进
394 1
|
9月前
|
NoSQL 关系型数据库 Linux
ERPNext 搭建教程:Linux 一键部署与维护
ERPNext 是一款开源免费的企业资源计划系统,适用于中小企业信息化管理。基于 Python 和 Frappe 框架开发,支持财务、销售、人力、库存等模块,具备高度可定制性。本文介绍如何通过 Websoft9 在 Linux 下快速部署 ERPNext,并提供环境配置、系统维护等实用建议,适合开发者和企业用户快速上手。
1552 7
ERPNext 搭建教程:Linux 一键部署与维护
|
9月前
|
关系型数据库 Linux Nacos
Rocky Linux 部署 Docker 和 NACOS 实例
本文介绍在阿里云环境下基于 Rocky Linux 搭建 Docker 并部署 Nacos 的完整流程。涵盖 Docker 安装、镜像加速配置、网络设置及 MySQL 与 Nacos 容器的创建,适用于开发与生产环境。
1099 1
|
9月前
|
Java Linux 网络安全
Linux云端服务器上部署Spring Boot应用的教程。
此流程涉及Linux命令行操作、系统服务管理及网络安全知识,需要管理员权限以进行配置和服务管理。务必在一个测试环境中验证所有步骤,确保一切配置正确无误后,再将应用部署到生产环境中。也可以使用如Ansible、Chef等配置管理工具来自动化部署过程,提升效率和可靠性。
835 13
|
11月前
|
监控 Linux 应用服务中间件
Linux多节点多硬盘部署MinIO:分布式MinIO集群部署指南搭建高可用架构实践
通过以上步骤,已成功基于已有的 MinIO 服务,扩展为一个 MinIO 集群。该集群具有高可用性和容错性,适合生产环境使用。如果有任何问题,请检查日志或参考MinIO 官方文档。作者联系方式vx:2743642415。
3534 57

热门文章

最新文章