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

本文涉及的产品
实时数仓Hologres,5000CU*H 100GB 3个月
实时计算 Flink 版,1000CU*H 3个月
智能开放搜索 OpenSearch行业算法版,1GB 20LCU 1个月
简介: 一文搞定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配置自动化操作,就不一一介绍。

目录
相关文章
|
3月前
|
XML jenkins 机器人
JMeter+Ant+Jenkins实现接口自动化测试持续集成
本文介绍了如何使用Ant生成JMeter接口测试报告,并集成到Jenkins中实现自动化测试。内容涵盖Ant与JMeter环境配置、build.xml文件设置、测试执行及报告生成,同时包括Jenkins插件安装、项目配置和钉钉消息通知的集成,帮助实现持续测试与结果可视化。
513 0
|
1月前
|
Java 测试技术 数据安全/隐私保护
通过yaml文件配置自动化测试程序
通过yaml文件可以将自动化测试环境,测试数据和测试行为分开,请看一下案例
57 4
|
1月前
|
jenkins Java 持续交付
使用 Jenkins 和 Spring Cloud 自动化微服务部署
随着单体应用逐渐被微服务架构取代,企业对快速发布、可扩展性和高可用性的需求日益增长。Jenkins 作为领先的持续集成与部署工具,结合 Spring Cloud 提供的云原生解决方案,能够有效简化微服务的开发、测试与部署流程。本文介绍了如何通过 Jenkins 实现微服务的自动化构建与部署,并结合 Spring Cloud 的配置管理、服务发现等功能,打造高效、稳定的微服务交付流程。
207 0
使用 Jenkins 和 Spring Cloud 自动化微服务部署
|
10月前
|
Web App开发 数据采集 JavaScript
CDP与Selenium相结合——玩转网页端自动化数据采集/爬取程序
本文介绍了Selenium、Chrome DevTools及Chrome DevTools Protocol (CDP) 的基本功能与应用。Selenium是一款开源自动化测试工具,适用于网页端应用程序测试和数据采集,具备跨平台特性。Chrome DevTools内置浏览器中,提供调试、分析Web应用程序的功能,包括元素、控制台、源代码和网络选项卡等。CDP是一套用于与Chromium内核浏览器通信的API,支持自动化测试和性能分析。文中还展示了Selenium与CDP结合使用的示例,如捕获网络请求数据和打印网页内容,并推荐了相关书籍和资源以供深入学习。
1314 39
CDP与Selenium相结合——玩转网页端自动化数据采集/爬取程序
|
8月前
|
监控 jenkins 测试技术
Ansible与Jenkins:自动化工具的对比
Ansible和Jenkins是自动化领域的两大巨头。Ansible专注于配置管理和任务自动化,采用无代理架构,使用YAML定义配置,具有幂等性和可扩展性。Jenkins则擅长持续集成和持续交付(CI/CD),支持丰富的插件生态系统,适用于自动化构建、测试和部署。两者各有优势,Ansible适合配置管理与大规模部署,Jenkins则在CI/CD方面表现出色。结合使用可创建更强大的自动化工作流,提升团队生产力和软件质量。选择工具时应根据具体需求决定。
|
10月前
|
运维 jenkins Java
Jenkins 自动化局域网管控软件构建与部署流程
在企业局域网管理中,Jenkins 作为自动化工具,通过配置源码管理、构建及部署步骤,实现了高效、稳定的软件开发与部署流程,显著提升局域网管控软件的开发与运维效率。
192 5
|
11月前
|
开发者 Python
使用Python实现自动化邮件通知:当长时程序运行结束时
本文介绍了如何使用Python实现自动化邮件通知功能,当长时间运行的程序完成后自动发送邮件通知。主要内容包括:项目背景、设置SMTP服务、编写邮件发送函数、连接SMTP服务器、发送邮件及异常处理等步骤。通过这些步骤,可以有效提高工作效率,避免长时间等待程序结果。
470 9
|
12月前
|
运维 监控 jenkins
运维自动化实战:利用Jenkins构建高效CI/CD流程
【10月更文挑战第18天】运维自动化实战:利用Jenkins构建高效CI/CD流程
|
运维 jenkins 持续交付
自动化部署的魅力:如何用Jenkins和Docker简化运维工作
【10月更文挑战第7天】在现代软件开发周期中,快速且高效的部署是至关重要的。本文将引导你理解如何使用Jenkins和Docker实现自动化部署,从而简化运维流程。我们将从基础概念开始,逐步深入到实战操作,让你轻松掌握这一强大的工具组合。通过这篇文章,你将学会如何利用这些工具来提升你的工作效率,并减少人为错误的可能性。

热门文章

最新文章

推荐镜像

更多