一文搞定Jenkins自动化部署程序

本文涉及的产品
实时计算 Flink 版,5000CU*H 3个月
检索分析服务 Elasticsearch 版,2核4GB开发者规格 1个月
大数据开发治理平台 DataWorks,不限时长
简介: 一文搞定Jenkins自动化部署程序

下载安装JDK

下载地址:jdk-11.0.20_linux-x64_bin.tar.gz

解压

tar -zxvf jdk-11.0.20_linux-x64_bin.tar.gz

移动到/opt目录下

mv jdk-11.0.20 /opt/

配置环境变量

vim /etc/profile

export JAVA_HOME=/opt/jdk-11.0.20
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar

加载环境变量

source /etc/profile

验证是否配置成功

# java -version
java version "11.0.20" 2023-07-18 LTS
Java(TM) SE Runtime Environment 18.9 (build 11.0.20+9-LTS-256)
Java HotSpot(TM) 64-Bit Server VM 18.9 (build 11.0.20+9-LTS-256, mixed mode)

安装Jenkins

sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo --no-check-certificate
sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io-2023.key
yum install -y jenkins

如果 install 时报错,提示

warning: /var/cache/yum/x86_64/7/jenkins/packages/jenkins-2.414.2-1.1.noarch.rpm: Header V4 RSA/SHA512 Signature, key ID ef5975ca: NOKEY


Public key for jenkins-2.414.2-1.1.noarch.rpm is not installed

可以访问:https://pkg.jenkins.io/redhat-stable查看安装命令

image-20230921155537813

配置Jenkins使用端口

默认:8080,修改配置文件vim /etc/sysconfig/jenkins

JENKINS_PORT="8080"

修改Jendins存储路径

修改vim /etc/sysconfig/jenkins

JENKINS_HOME=/var/lib/jendins

更改路径后,要手动创建这个目录

配置权限

配置权限,修改为root,修改文件vim /etc/sysconfig/jenkins

JENKINS_USER="root"

修改目录权限

chown -R root:root /var/lib/jenkins

chown -R root:root /var/cache/jenkins

chown -R root:root /var/log/jenkins

编辑jenkins的配置文件:

vim /etc/init.d/jenkins

image-20230921160353883

启动jenkins

cd /etc/init.d
#重启jenkins
./jenkins restart
#启动jenkins
./jenkins start
#查看jenkins状态
./jenkins status

查看运行状态

./jenkins status
jenkins (pid  9189) is running...

访问Jenkins:http://172.16.24.211:8080/

image-20230921160801201

输入管理员密码,查看密码

cat /var/lib/jenkins/secrets/initialAdminPassword

下一步,提示离线

image-20230921161321364

我的服务器访问不到Jenkins插件地址(这里看网络环境),这里我配置了代理

image-20230921161919356

选择安装推荐的插件

image-20230921161952356

到下面这个页面后,就等待安装

image-20230921162016827

安装完成后进入创建管理员用户页面

image-20230921163402146

配置URL,默认的即可

image-20230921163515069

点击开始使用

image-20230921163530980

image-20230921163541900

安装Git

yum install -y git

查看是否安装成功

# git --version
git version 1.8.3.1

安装Maven

官网:https://maven.apache.org/download.cgi

wget https://dlcdn.apache.org/maven/maven-3/3.9.4/binaries/apache-maven-3.9.4-bin.tar.gz

解压

 tar -zxvf apache-maven-3.9.4-bin.tar.gz

目录移动到/usr/local目录下

mv apache-maven-3.9.4 /usr/local/maven

修改Maven配置文件

cd /usr/local/maven/conf
vim settings.xml

全部内容

<?xml version="1.0" encoding="UTF-8"?>
<settings xmlns="http://maven.apache.org/SETTINGS/1.2.0"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.2.0 https://maven.apache.org/xsd/settings-1.2.0.xsd">

  <pluginGroups>

  </pluginGroups>


  <proxies>

  </proxies>


  <servers>

  </servers>


  <mirrors>

  </mirrors>

  <profiles>
            <profile>
        <id>repo1</id>
        <repositories>
            <repository>
                <id>repo1</id>
                <url>https://repo1.maven.org/maven2</url>
                <releases>
                    <enabled>true</enabled>
                </releases>
                <snapshots>
                    <enabled>true</enabled>
                    <updatePolicy>always</updatePolicy>
                </snapshots>
            </repository>
        </repositories>
    </profile>

    <profile>
        <id>cloudera</id>
        <repositories>
            <repository>
                <id>cloudera</id>
                <url>https://repository.cloudera.com/artifactory/cloudera-repos</url>
                <releases>
                    <enabled>true</enabled>
                </releases>
                <snapshots>
                    <enabled>true</enabled>
                    <updatePolicy>always</updatePolicy>
                </snapshots>
            </repository>
        </repositories>
    </profile>
<profile>
        <id>huaweicloud</id>
        <repositories>
            <repository>
                <id>huaweicloud</id>
                <url>https://mirrors.huaweicloud.com/repository/maven/</url>
                <releases>
                    <enabled>true</enabled>
                </releases>
                <snapshots>
                    <enabled>true</enabled>
                    <updatePolicy>always</updatePolicy>
                </snapshots>
            </repository>
        </repositories>
    </profile>
    <profile>
        <id>aliyun</id>
        <repositories>
            <repository>
                <id>aliyun</id>
                <url>http://maven.aliyun.com/nexus/content/groups/public</url>
                <releases>
                    <enabled>true</enabled>
                </releases>
                <snapshots>
                    <enabled>true</enabled>
                    <updatePolicy>always</updatePolicy>
                </snapshots>
            </repository>
        </repositories>
    </profile>


  </profiles>

  <activeProfiles>
    <activeProfile>huaweicloud</activeProfile>
    <activeProfile>nexus-rbt</activeProfile>
    <activeProfile>repo1</activeProfile>
    <activeProfile>aliyun</activeProfile>
    <activeProfile>cloudera</activeProfile> 
  </activeProfiles>

</settings>

添加环境变量

vim /etc/profile

export M2_HOME=/usr/local/maven/
export PATH=$M2_HOME/bin:$PATH

更新环境变量

source /etc/profile

验证

# mvn -v
Apache Maven 3.9.4 (dfbb324ad4a7c8fb0bf182e6d91b0ae20e3d2dd9)
Maven home: /usr/local/maven
Java version: 11.0.20, vendor: Oracle Corporation, runtime: /opt/jdk-11.0.20
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "3.10.0-1160.95.1.el7.x86_64", arch: "amd64", family: "unix"

添加服务器节点

  • 服务器节点需要安装JDK11
  • 配置之前在Jenkins服务器通过ssh连接一下从节点,输入yes即可,不然无法安装成功从节点
# ssh 172.16.84.19
The authenticity of host '172.16.84.19 (172.16.84.19)' can't be established.
ECDSA key fingerprint is SHA256:/VZpxzlzpZqNTgoUR+XWXsnypMdq6n/q+/kWbirNxMo.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes

点击构建执行状态

image-20230921171915395

点击New Node

image-20230921171943104

添加新节点

image-20230921172009150

填写配置

image-20230921172312291

image-20230921172335178

点击添加凭证后,填写服务器账号密码

image-20230921172511357

填写描述后面好分我们配置的账号密码

image-20230921172714153

点击添加

image-20230921172522416

选择我们刚刚设置的凭证

image-20230921172756805

配置Jenkins使用的jdk路径

image-20230921174811409

完整配置如下

image-20230921174858330

点击保存

可以在节点中看到添加成功

image-20230921174921149

如果失败可以在日志页面查看具体原因

image-20230921174944368

安装SSH插件

进入 Dashboard -> Manage Jenkins -> Plugins 页面

image-20230921171533375

安装下面插件:

image-20230922094334426

image-20230922142005693

安装完成

image-20230922101853740

安装完成后重启Jenkins

部署Maven项目

配置GIT权限

注意:如果Jenkins节点多,每个节点都需要执行这个步骤

配置Git权限,这里我使用的都是GitLab举例

在Jenkins服务所在服务器生成公钥

ssh-keygen -t ecdsa

在GitLab添加生成的公钥

cat ~/.ssh/id_ecdsa.pub 
ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHANTYAAAAIbmlzdHAyNTYAAABBBFY0VjZSDr/QyBjIf2OUC9N1QyuGFTcTGbS7fq4ECW1FUNQSHSJ0X/gLQmANT3S6hZLmZB0VhpG2gn8FckWoC9Y= root@centos7.9-template

image-20230922105526435

添加完成之后,在服务器Shell执行一次命令,会提示让你输入YES,仅首次配置服务器需要执行该步骤

$ git clone git@192.168.1.1:jast/cp.git

ECDSA key fingerprint is SHA256:/VZpxzlzpZqNTgoUR+XWXsnypMdq6n/q+/kWbirNxMo.
ECDSA key fingerprint is MD5:86:f4:2c:0c:df:47:e5:1e:ed:c7:00:87:3e:ee:fb:47.
Are you sure you want to continue connecting (yes/no)? yes

创建Jenkins任务

新建任务

image-20230922112048852

image-20230922112221493

设置我们需要再哪个服务器上运行

这里输入的节点,与我们创建节点时设置的名称一样,我们统一用IP地址命名

image-20230922112938682

image-20230922112356966

设置拉取Git代码分支

image-20230922113743767

此处填写的develop就是我们代码的分支,即

image-20230922113826699

创建拉取代码后执行的脚本,Build Steps -> 执行shell

image-20230922113042849

初步验证,随便输入几个命令查看是否能拉取代码成功

image-20230922113235841

查看输出

image-20230922113428647

可以看到我们刚刚填写shell命令的输出

image-20230922113456129

运行程序道理就相同了,可以直接通过shell配置自动化操作,就不一一介绍。

目录
相关文章
|
24天前
|
jenkins 持续交付
Jenkins自动化部署脚本
Jenkins自动化部署脚本
27 0
|
2月前
|
IDE jenkins Java
告别繁琐配置:Alibaba Cloud Toolkit插件打破Jenkins自动化部署的局限
告别繁琐配置:Alibaba Cloud Toolkit插件打破Jenkins自动化部署的局限
100 0
|
2月前
|
jenkins 应用服务中间件 持续交付
Git + Jenkins 自动化 NGINX 发布简易实现
Git + Jenkins 自动化 NGINX 发布简易实现
|
15天前
|
jenkins 测试技术 持续交付
软件测试|docker搭建Jenkins+Python+allure自动化测试环境
通过以上步骤,你可以在Docker中搭建起Jenkins自动化测试环境,实现Python测试的自动化执行和Allure报告生成。 买CN2云服务器,免备案服务器,高防服务器,就选蓝易云。百度搜索:蓝易云
35 6
|
3月前
|
Shell iOS开发 MacOS
Python 自动化指南(繁琐工作自动化)第二版:附录 B:运行程序
Python 自动化指南(繁琐工作自动化)第二版:附录 B:运行程序
|
3月前
|
存储 Unix Shell
Python 自动化指南(繁琐工作自动化)第二版:十七、计时、安排任务和启动程序
Python 自动化指南(繁琐工作自动化)第二版:十七、计时、安排任务和启动程序
|
3月前
|
前端开发 jenkins 持续交付
前后端分离项目知识汇总(GateWay,Nacos配置中心,Jenkins自动化部署,项目总结)-3
前后端分离项目知识汇总(GateWay,Nacos配置中心,Jenkins自动化部署,项目总结)
63 0
|
3月前
|
jenkins Java 持续交付
前后端分离项目知识汇总(GateWay,Nacos配置中心,Jenkins自动化部署,项目总结)-2
前后端分离项目知识汇总(GateWay,Nacos配置中心,Jenkins自动化部署,项目总结)
52 0
|
3月前
|
前端开发 Java jenkins
前后端分离项目知识汇总(GateWay,Nacos配置中心,Jenkins自动化部署,项目总结)-1
前后端分离项目知识汇总(GateWay,Nacos配置中心,Jenkins自动化部署,项目总结)
51 0
|
3月前
|
JavaScript jenkins 应用服务中间件
Jenkins + Github + Nginx 自动化部署 Vue 项目
Jenkins + Github + Nginx 自动化部署 Vue 项目
148 0