其他分享
首页 > 其他分享> > 了解Jenkins及相关项目实战

了解Jenkins及相关项目实战

作者:互联网

了解Jenkins相关知识点

一、什么是 Jenkins

Jenkins 原名 Hudson,2011 年改为现在的名字,它是一个开源的实现持续集成的软件工具。官方网站网址:Jenkins。 Jenkins 能实时监控持续集成过程中所存在的问题,提供详细的日志文件和提醒功能, 还能通过图表的形式,形象地展示项目构建的趋势和稳定性。

二、Jenkins 包含以下几个特点:

三、持续集成作用

持续集成(Continuous Integration,简写为 CI)可以保证团队开发人员提交代码的质量, 减轻软件发布的时间压力。在持续集成过程中任何一个环节都是自动完成的,无需太多的人工干预,这样有利于减少重复过程,从而可以节省时间、费用和工作量

四、持续集成的特点

持续集成是一个自动化的、周期性的集成测试过程,检出代码、编译构建、运行测试、结果记录、测试统计等过程都是自动完成的,无需人工干预。持续集成需要有专门的集成服务器来执行集成构建操作,同时需要有代码托管工具的支持

五、持续集成的工作原理

Jenkins 的工作原理是先将源代码从 SVN/Git 版本控制系统中拷贝一份到本地,然后根据设置的脚本进行 build(构建)。整个系统的关键就是 build 脚本,build 脚本告诉 Jenkins 在一次集成中需要执行的任务

六、Maven 介绍

Maven 项目对象模型(POM)是可以通过一小段描述信息来管理项目的构建、报告和文档的软件项目管理工具。 Maven 除了程序构建能力出色之外,还提供高级项目管理工具。由于 Maven 的缺省构建规则有较高的可重用性,所以常常用两三行 Maven 脚本就可以构建简单的项目。由于Maven 是面向项目的方法,许多 Apache Jakarta 项目发布时都使用 Maven,而且公司企业项目采用 Maven 的比例也在持续增长。 Maven 这个单词意为知识的积累,最初在 Jakata Turbine 项目中用来简化构建过程。当时,有一些项目(有各自 Ant build 文件)仅有细微的差别,而 JAR 文件都由 CVS 维护。于是希望有一种标准化的方式构建项目,一个清晰的方式定义项目的组成,一个容易的方式发布项目的信息,以及一种简单的方式在多个项目中共享 JARs,因此 Maven 就这样诞生了

Git+Jenkins 自动上线更新产品

资源配置

操作系统配置主机名/IP地址相关软件
CentOS 7.92C2Ggit/172.16.10.10git
CentOS 7.92C2Gjenkins/172.16.10.11jenkins/jdk/tomcat/maven
CentOS 7.92C2Gdocker/172.16.10.12docker/jdk

一、基础环境

1.1 关闭防火墙

 systemctl stop firewalld
 systemctl disable firewalld

1.2 关闭selinux

 sed -i '/^SELINUX=/s/enforcing/disabled/' /etc/selinux/config
 reboot

1.3 修改主机名

 hostnamectl set-hostname git
 hostnamectl set-hostname jenkins
 hostnamectl set-hostname docker

1.4 修改hosts文件

 cat >> /etc/hosts << EOF
 172.16.10.10 git
 172.16.10.11 jenkins
 172.16.10.12 docker
 EOF

1.5 时间同步

 yum -y install chrony
 systemctl start chronyd
 chronyc sources -v

二、部署Git

2.1 部署Git仓库

 yum -y install git
 useradd git
 echo "123"|passwd --stdin git
 ​
 su - git
 # 创建 git仓库
 mkdir -p /home/git/tale.git
 # 初始化 tale.git 仓库
 cd /home/git/tale.git
 git --bare init

2.2 部署git客户端

 yum -y install git
 ​
 # ssh免密
 ssh-keygen
 ssh-copy-id git@172.16.10.10
 ​
 # 克隆 git库
 git clone git@172.16.10.10:/home/git/tale.git
 ​
 # 上传 tale的源码tale.tar.gz,放在/root/tale 下
 cd tale/
 tar zxf /root/tale/tale.tar.gz
 cp -rf /root/tale/tale/* .
 rm -rf tale.tar.gz tale
 ​
 # 将tale源码上传到tale.git库中
 git config --global user.name "admin"
 git config --global user.email "admin@163.com"
 git add .
 git commit -m "all tale"
 git push origin master

三、安装部署Jenkins

3.1 部署java环境

 # 上传 jdk-8u202-linux-x64.tar.gz 到 /root
 tar zxf jdk-8u202-linux-x64.tar.gz 
 mv jdk1.8.0_202 /usr/local/java
 vim /etc/profile
 export JAVA_HOME=/usr/local/java/
 export CLASSPATH=$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar
 export PATH=$JAVA_HOME/bin:$PATH
 ======================================================
 source /etc/profile
 java -version
 ​

3.2 部署Tomcat

# 上传 apache-tomcat-8.5.56.tar.gz到 /root
tar zxf apache-tomcat-8.5.56.tar.gz 
mv apache-tomcat-8.5.56 /usr/local/tomcat

# 上传 apache-maven-3.6.0-bin.tar.gz到 /root
tar zxf apache-maven-3.6.0-bin.tar.gz 
mv apache-maven-3.6.0 /usr/local/maven

# 上传 Jenkins.war 文件到tomcat 的网站根目录下
mv jenkins.war /usr/local/tomcat/webapps/

# 启动tomcat
/usr/local/tomcat/bin/startup.sh

3.3 配置Jenkins,web登录

# 查看初始密码
cat /root/.jenkins/secrets/initialAdminPassword

3.3.1 安装Publish Over SSH 、Maven Integration插件

3.3.2 添加 Publish Over SSH 远程主机

mkdir /data

 

3.3.3 配置 Maven、JDK、Git 环境

/usr/local/tomcat/bin/shutdown.sh
/usr/local/tomcat/bin/startup.sh

四、配置docker

4.1 安装docker

# 安装docker、JDK
yum -y install yum-utils device-mapper-persistent-data lvm2
yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
yum makecache fast
yum -y install docker-ce
mkdir /etc/docker
cat << EOF >> /etc/docker/daemon.json
{
"registry-mirrors": [
  "https://dockerhub.azk8s.cn",
  "https://hub-mirror.c.163.com"
  ]
}
EOF
systemctl start docker && systemctl enable docker

# 安装JDK
tar zxf jdk-8u202-linux-x64.tar.gz 
mv jdk1.8.0_202/ /usr/local/java/ 
vim /etc/profile 
export JAVA_HOME=/usr/local/java/ 
export CLASSPATH=$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar 
export PATH=$JAVA_HOME/bin:$PATH 
============================================================
source /etc/profile 
java -version

4.2 构建tale基础镜像

# 构建tale镜像
##上传Dockerfile、run.sh、openjdk.tar文件到/git
mkdir /git
cd git
docker load -i openjdk.tar
docker build -t 172.16.10.12:5000/tale:v1 .

五、构建新的工程项目

 

# Source files 
target/dist/*.tar.gz 
# Remove prefix 
target/dist/
# Remote directory 
tale/ 
# Exec command执行命令如下 
cd /data/tale && tar zxf *.tar.gz 
docker stop kgc-tale-test
docker rm kgc-tale-test
docker run -itd --name kgc-tale-test -p 9000:9000 -v /usr/local/java:/usr/local/jdk -v /data/tale:/tale 172.16.10.12:5000/tale:v1

 

docker ps
===========================================================
CONTAINER ID   IMAGE                       COMMAND     CREATED         STATUS         PORTS                                       NAMES
f073970d74f8   172.16.10.12:5000/tale:v1   "/run.sh"   7 minutes ago   Up 7 minutes   0.0.0.0:9000->9000/tcp, :::9000->9000/tcp   kgc-tale-test
===========================================================

 

标签:实战,git,tar,tale,了解,usr,Jenkins,docker
来源: https://blog.csdn.net/yanxifaner/article/details/121343653