Jenkins部署

Jenkins部署与应用

Jenkins

简介

Jenkins是一个开源的持续集成/持续交付(CI/CD)工具,旨在帮助开发团队通过自动化构建、测试和部署软件项目来提高产品质量和开发效率。

工作原理
Jenkins的工作原理主要基于事件驱动和插件架构。它通过监听代码仓库的变化或定期轮询触发构建任务,并根据事先定义的构建流程,从源代码获取最新的代码、编译构建应用程序、运行自动化测试、打包、部署和发布等一系列操作。Jenkins通过丰富的插件生态系统,可以与各种构建工具、测试工具、部署工具和版本控制系统进行集成,具有广泛的适用性和灵活性。
工作流程
Jenkins的常见工作流程包括:
    触发器:触发构建任务的事件,如代码提交、定时触发等。
    获取源代码:从版本控制系统中获取最新的代码。
    编译构建:将源代码编译成可执行的应用程序或库。
    测试:运行各种自动化测试(单元测试、集成测试、端到端测试等)以验证代码质量。
    打包:将编译好的代码打包成可发布的软件包。
    部署:将软件包部署到目标环境中。
    发布:将部署完成的应用程序发布给用户或其他相关团队。

优点

Jenkins的优点包括:

灵活性:通过插件架构和丰富的插件生态系统,可以满足各种不同的需求和集成场景。
可扩展性:能够支持大规模的构建和部署,适应不断增长的项目和团队。
自动化:通过自动化构建、测试和部署等流程,减少了人工操作的工作量和错误率。
可视化界面:提供直观易用的图形界面,方便管理和监控构建任务和结果。
社区支持:作为开源项目,Jenkins拥有活跃的社区,能够提供丰富的文档和技术支持。

Jenkins部署

环境说明

系统版本ip
centos8192.168.136.139
# 配置阿里云yum源
[root@localhost ~]# rm -rf /etc/yum.repos.d/*
[root@localhost ~]# curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-vault-8.5.2111.repo
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  2495  100  2495    0     0   9450      0 --:--:-- --:--:-- --:--:--  9450
[root@localhost ~]# sed -i -e '/mirrors.cloud.aliyuncs.com/d' -e '/mirrors.aliyuncs.com/d' /etc/yum.repos.d/CentOS-Base.repo
[root@localhost ~]# yum clean all
0 files removed
[root@localhost ~]# yum makecache
CentOS-8.5.2111 - Base - mirrors.aliyun.com               2.1 MB/s | 4.6 MB     00:02    
CentOS-8.5.2111 - Extras - mirrors.aliyun.com              54 kB/s |  10 kB     00:00    
CentOS-8.5.2111 - AppStream - mirrors.aliyun.com          1.4 MB/s | 8.4 MB     00:05    
Metadata cache created.

# 关闭防火墙和selinux
[root@localhost ~]#  systemctl disable --now firewalld.service 
Removed /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
[root@localhost ~]# setenforce 0
[root@localhost ~]# sed -i 's/^SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config

# 重启
[root@localhost ~]# reboot

部署Tomcat

# 安装Java环境
[root@localhost ~]# yum -y install java-1.8.0-openjdk java-1.8.0-openjdk-devel

# 查看安装版本
[root@localhost ~]#  java -version
openjdk version "1.8.0_312"
OpenJDK Runtime Environment (build 1.8.0_312-b07)
OpenJDK 64-Bit Server VM (build 25.312-b07, mixed mode)

# 下载tomcat软件包
[root@localhost ~]# wget https://archive.apache.org/dist/tomcat/tomcat-9/v9.0.79/bin/apache-tomcat-9.0.79.tar.gz

# 解压部署,解压到那个路径
[root@localhost ~]# tar xf apache-tomcat-9.0.79.tar.gz -C /usr/local
[root@localhost ~]# ls /usr/local/
apache-tomcat-9.0.79  bin  etc  games  include  lib  lib64  libexec  sbin  share  src

# 创建软链接
[root@localhost local]# ln -s apache-tomcat-9.0.79/ tomcat
[root@localhost local]# ll
.....省略
drwxr-xr-x. 2 root root    6 Jun 22  2021 sbin
drwxr-xr-x. 5 root root   49 Jul 27 09:35 share
drwxr-xr-x. 2 root root    6 Jun 22  2021 src
lrwxrwxrwx  1 root root   21 Oct 16 20:44 tomcat -> apache-tomcat-9.0.79/

# 启动tomcat服务
[root@localhost local]# /usr/local/tomcat/bin/startup.sh 
Using CATALINA_BASE:   /usr/local/tomcat
Using CATALINA_HOME:   /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME:        /usr
Using CLASSPATH:       /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
Using CATALINA_OPTS:   
Tomcat started.

# 查看端口
[root@localhost local]# ss -antl
State    Recv-Q   Send-Q           Local Address:Port       Peer Address:Port   Process   
LISTEN   0        128                    0.0.0.0:22              0.0.0.0:*                
LISTEN   0        100                          *:8080                  *:*                
LISTEN   0        128                       [::]:22                 [::]:*                
LISTEN   0        1           [::ffff:127.0.0.1]:8005                  *:*                
[root@localhost local]# 

部署Jenkins

Jenkins官网https://www.jenkins.io/download/

# 安装Jenkins的版本Java17
[root@localhost ~]# yum -y install java-17-openjdk java-17-openjdk-devel

# 由于安装tomcat时安装的Java1.8,但是Jenkins需要Java17,所以切换一下Java版本
[root@localhost ~]# alternatives --config java

There are 2 programs which provide 'java'.

  Selection    Command
-----------------------------------------------
*+ 1           java-1.8.0-openjdk.x86_64 (/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.312.b07-2.el8_5.x86_64/jre/bin/java)
   2           java-17-openjdk.x86_64 (/usr/lib/jvm/java-17-openjdk-17.0.1.0.12-2.el8_5.x86_64/bin/java)

Enter to keep the current selection[+], or type selection number: 2 //选择2

# 下载Jenkins的.war包
[root@localhost ~]# wget https://get.jenkins.io/war-stable/2.414.2/jenkins.war
[root@localhost ~]# ls
anaconda-ks.cfg  apache-tomcat-9.0.79.tar.gz  jenkins.war
[root@localhost ~]# java -jar jenkins.war
......结果省略

# 把Jenkins包移到 /usr/local/tomcat/webapps/去
[root@localhost ~]# cp jenkins.war /usr/local/tomcat/webapps/

# 重启tomca服务,就会自动解压Jenkins.war
[root@localhost ~]# /usr/local/tomcat/bin/shutdown.sh
[root@localhost ~]# /usr/local/tomcat/bin/startup.sh
[root@localhost ~]#  cd /usr/local/tomcat/webapps/
[root@localhost webapps]# ls
docs  examples  host-manager  jenkins  jenkins.war  manager  ROOT
[root@localhost webapps]# 

​ 去页面访问并且配置

在这里插入图片描述

[root@localhost ~]# cat /root/.jenkins/secrets/initialAdminPassword
d30166c38e7f4d81a57555be87222fba

在这里插入图片描述

选择安装推荐的插件

在这里插入图片描述在这里插入图片描述

插件一个账户
在这里插入图片描述在这里插入图片描述
在这里插入图片描述在这里插入图片描述

创建Jenkins项目

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在主机上安装git命令和maven打包工具

[root@localhost ~]# yum -y install git
[root@localhost ~]# yum -y install maven

重新编辑流水线的脚本

在这里插入图片描述

# 流水线的脚本
pipeline {
    agent any
    stages {
        stage("pull code"){
            steps {
                git 'https://gitee.com/forgotten/tomcat-java-demo.git'
            }
        }
        stage("make pkg"){
            steps {
                sh """
                    cd /root/tomcat-java-demo/
                    mvn clean package 
                """
            }
        }
        stage("publish"){
            steps {
                sh """
                    cp /root/tomcat-java-demo/target/ly-simple-tomcat-0.0.1-SNAPSHOT.war
 /usr/local/tomcat/webapps/
                    /usr/local/tomcat/bin/catalina.sh stop && /usr/local/tomcat/bin/catalina.sh start
                """
            }
        }
    }
}

在这里插入图片描述

# 在虚拟机中查看是否被pull下来了
[root@localhost ~]# cd /usr/local/tomcat/webapps/
[root@localhost webapps]# ll
total 105288
drwxr-x--- 16 root root     4096 Oct 16 20:42 docs
drwxr-x---  7 root root       99 Oct 16 20:42 examples
drwxr-x---  6 root root       79 Oct 16 20:42 host-manager
drwxr-x--- 10 root root     4096 Oct 16 20:54 jenkins
-rw-r--r--  1 root root 89532729 Oct 16 20:54 jenkins.war
drwxr-x---  4 root root       37 Oct 17 06:50 ly-simple-tomcat-0.0.1-SNAPSHOT
-rw-r-----  1 root root 18265403 Oct 17 06:35 ly-simple-tomcat-0.0.1-SNAPSHOT.war
drwxr-x---  6 root root      114 Oct 16 20:42 manager
drwxr-x---  3 root root     4096 Oct 16 20:42 ROOT
[root@localhost webapps]# 

访问这个项目

在这里插入图片描述

报错在下载和打包这块,可以去手动部署,看看问题出在哪里

手动部署
[root@localhost ~]# git clone 'https://gitee.com/forgotten/tomcat-java-demo.git'
Cloning into 'tomcat-java-demo'...
remote: Enumerating objects: 558, done.
remote: Total 558 (delta 0), reused 0 (delta 0), pack-reused 558
Receiving objects: 100% (558/558), 5.08 MiB | 1001.00 KiB/s, done.
Resolving deltas: 100% (217/217), done.
[root@localhost ~]# git clone 'https://gitee.com/forgotten/tomcat-java-demo.git'
Cloning into 'tomcat-java-demo'...
remote: Enumerating objects: 558, done.
remote: Total 558 (delta 0), reused 0 (delta 0), pack-reused 558
Receiving objects: 100% (558/558), 5.08 MiB | 1001.00 KiB/s, done.
Resolving deltas: 100% (217/217), done.

[root@localhost target]# pwd
/root/tomcat-java-demo/

#注意,打包一定要在这个目录里面 
[root@localhost tomcat-java-demo]# mvn clean package
[root@localhost tomcat-java-demo]# cd target/
[root@localhost target]# ll
total 17840
drwxr-xr-x 5 root root       95 Oct 16 23:24 classes
drwxr-xr-x 3 root root       25 Oct 16 23:24 generated-sources
drwxr-xr-x 4 root root       37 Oct 16 23:24 ly-simple-tomcat-0.0.1-SNAPSHOT
-rw-r--r-- 1 root root 18265403 Oct 16 23:24 ly-simple-tomcat-0.0.1-SNAPSHOT.war
drwxr-xr-x 2 root root       28 Oct 16 23:24 maven-archiver
drwxr-xr-x 3 root root       35 Oct 16 23:24 maven-status


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值