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

本文涉及的产品
智能开放搜索 OpenSearch行业算法版,1GB 20LCU 1个月
实时计算 Flink 版,5000CU*H 3个月
检索分析服务 Elasticsearch 版,2核4GB开发者规格 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配置自动化操作,就不一一介绍。

目录
相关文章
|
2月前
|
jenkins 持续交付 开发者
自动化部署:使用Jenkins和Docker实现持续集成与交付
【8月更文挑战第31天】本文旨在为读者揭示如何通过Jenkins和Docker实现自动化部署,从而加速软件开发流程。我们将从基础概念讲起,逐步深入到实际操作,确保即使是初学者也能跟上步伐。文章将提供详细的步骤说明和代码示例,帮助读者理解并应用这些工具来优化他们的工作流程。
|
4月前
|
jenkins Java 持续交付
运用Jenkins实现Java项目的持续集成与自动化部署
在新建的Jenkins Job中,我们需要配置源码管理,通常选择Git、SVN等版本控制系统,并填入仓库地址和凭据。接着,设置构建触发器,如定时构建、轮询SCM变更、GitHub Webhook等方式,以便在代码提交后自动触发构建过程。
177 2
|
2月前
|
持续交付 jenkins Devops
WPF与DevOps的完美邂逅:从Jenkins配置到自动化部署,全流程解析持续集成与持续交付的最佳实践
【8月更文挑战第31天】WPF与DevOps的结合开启了软件生命周期管理的新篇章。通过Jenkins等CI/CD工具,实现从代码提交到自动构建、测试及部署的全流程自动化。本文详细介绍了如何配置Jenkins来管理WPF项目的构建任务,确保每次代码提交都能触发自动化流程,提升开发效率和代码质量。这一方法不仅简化了开发流程,还加强了团队协作,是WPF开发者拥抱DevOps文化的理想指南。
49 1
|
2月前
|
Kubernetes jenkins 持续交付
Jenkins 插件生态:提升自动化能力
【8月更文第31天】Jenkins 是一个开源的持续集成/持续交付(CI/CD)平台,广泛应用于软件开发的各个阶段。Jenkins 的一大特色就是其丰富的插件生态系统,这些插件极大地扩展了 Jenkins 的功能,使其能够适应各种各样的应用场景。本文将深入探讨 Jenkins 的插件生态系统,并指导如何选择和配置插件以满足特定需求。
64 1
|
2月前
|
jenkins Linux 持续交付
在Linux中,如何使用Jenkins和Ansible进行虚拟化环境的自动化和持续集成/持续部署(CI/CD)?
在Linux中,如何使用Jenkins和Ansible进行虚拟化环境的自动化和持续集成/持续部署(CI/CD)?
|
2月前
|
持续交付 jenkins C#
“WPF与DevOps深度融合:从Jenkins配置到自动化部署全流程解析,助你实现持续集成与持续交付的无缝衔接”
【8月更文挑战第31天】本文详细介绍如何在Windows Presentation Foundation(WPF)项目中应用DevOps实践,实现自动化部署与持续集成。通过具体代码示例和步骤指导,介绍选择Jenkins作为CI/CD工具,结合Git进行源码管理,配置构建任务、触发器、环境、构建步骤、测试及部署等环节,显著提升开发效率和代码质量。
48 0
|
2月前
|
JavaScript jenkins 持续交付
自动化部署与持续集成:使用Jenkins和Docker优化开发流程
【8月更文挑战第31天】在软件开发的世界里,时间就是一切。本文将引导你通过Jenkins和Docker的强大组合,实现自动化部署和持续集成,让你的开发流程如丝般顺滑。我们将从基础设置开始,逐步深入到构建管道,最终实现一键部署的梦想。准备好让你的开发效率飞跃,一起探索这个令人兴奋的旅程吧!
|
2月前
|
jenkins Shell 持续交付
自动化部署:使用Jenkins和Docker实现CI/CD
【8月更文挑战第31天】 本文旨在引导读者了解如何通过Jenkins和Docker来实现持续集成和持续部署(CI/CD),从而优化开发流程,提升工作效率。文章将详细介绍配置Jenkins服务器、创建Docker镜像以及设置自动化构建和部署的步骤。通过实际操作案例,我们将展示如何将代码变更快速部署到测试或生产环境,确保软件质量与发布速度的双重保障。
|
2月前
|
Kubernetes jenkins 持续交付
Jenkins 与 Kubernetes 的集成:实现高效的资源管理和自动化部署
【8月更文第31天】随着微服务架构的普及,Kubernetes 已经成为了容器编排的事实标准。Kubernetes 提供了一种强大的方式来管理容器化的应用程序,而 Jenkins 则是持续集成与持续部署(CI/CD)领域的一个重要工具。将 Jenkins 与 Kubernetes 集成,不仅可以充分利用 Kubernetes 的资源管理能力,还能通过 Jenkins 实现自动化构建、测试和部署,从而提高开发效率和部署速度。本文将详细介绍如何将 Jenkins 集成到 Kubernetes 环境中,并提供具体的代码示例。
96 0
|
3月前
|
前端开发 jenkins 持续交付
不是Jenkins玩不起,而是脚本更有性价比,在1Panel中使用Node搭建前端自动化
不是Jenkins玩不起,而是脚本更有性价比,在1Panel中使用Node搭建前端自动化
107 2
下一篇
无影云桌面