Jenkins自动化构建

自动化构建

Jenkins 是一款开源 CI&CD 软件,用于自动化各种任务,包括构建、测试和部署软件

  • Jenkins 支持各种运行方式,可通过系统包、Docker 或者通过一个独立的 Java 程序

Linux安装

安装方法

$ dnf search jenkins
Last metadata expiration check: 0:29:36 ago on Mon 20 Nov 2023 08:58:40 AM CST.
=================================== Name & Summary Matched: jenkins ===================================
python3-jenkins.noarch : Python bindings for the remote Jenkins API

因为 Jenkins 本身是没有在 dnf 的软件仓库包中的,所以我们需要连接 Jenkins 仓库:

$ wget –O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat-stable/jenkins.repo
$ mv jenkins.repo /etc/yum.repos.d/

根据对应 repo 就可以使用 dnf 进行安装了,但是安装是有认证的,需要使用 rpm 导入 GPG 密钥以确保软件合法

$ rpm --import https://pkg.jenkins.io/redhat/jenkins.io.key
# 或者
$ rpm --import http://pkg.jenkins-ci.org/redhat/jenkins-ci.org.key

之后编辑一下 jenkins.repo

$ vim /etc/yum.repos.d/jenkins.repo

http://pkg.jenkins.io/redhat-stable-stable 删除掉

[jenkins]
name=Jenkins-stable
baseurl=http://pkg.jenkins.io/redhat
gpgcheck=1

安装 Jenkins

$ dnf install jenkins --nogpgcheck

启动 Jenkins 服务

$ systemctl start jenkins
$ systemctl stop jenkins
$ systemctl status jenkins
$ systemctl enable jenkins

检查是否启动成功

image-20231124084054138

修改配置

修改 Jenkins 端口

  • 我环境变量默认使用的 jdk1.8,我安装的 jenkins 是新版需要配置 jdk11-17
  • 默认端口为 8080,我要改为 8081
$ vim /usr/lib/systemd/system/jenkins.service
# The Java home directory. When left empty, JENKINS_JAVA_CMD and PATH are consulted.
Environment="JAVA_HOME=/home/software/jdk-17.0.9"
# Port to listen on for HTTP requests. Set to -1 to disable.
Environment="JENKINS_PORT=8081"

image-20231123140910187

重新加载配置文件,之后重启 jenkins

# 重新加载 service 配置文件
$ systemctl daemon-reload
# 重启 jenkins
$ systemctl restart jenkins

直接访问 Jenkins 是无法展示页面的,需要将其加入到安全组中

image-20231120103102460

打开浏览器,输入 IP + 对应端口,之后需要解锁 Jenkins

  • 获取输入管理员密码
$ cat /var/lib/jenkins/secrets/initialAdminPassword
fc53e288a4ac429baa33b44b412dd7a1

安装插件

安装推荐插件即可

image-20231120103330881

额外插件安装:

  • 上面默认安装的插件就不再提及用途了
插件名称插件用途
Maven Integration pluginMaven
Zentimestamp plugin时间戳变量
Build Name and Description Setter自定义构建任务名称
Persistent Parameter Plugin持久化构建参数
Role-based Authorization Strategy用户权限管理插件
Deploy to container Plugin远程部署插件
Generic Webhook Trigger Plugin特定提交触发自动构建
Publish Over SSH远程控制主机执行脚本
Job Configuration History Plugin记录job的历史更新记录
Console Column Plugin视图中展示上一个控制台
Rebuilder按照上次构建所选的参数进行构建
Git Parameter可添加Git的branch或者tag来作为参数进行构建
Build Trigger Badge项目视图首页展示项目构建人
Version Number Plugin提供更加丰富的构建版本号
Figlet Buildstep在构建过程中输出一个简单的横幅
Extended Choice Parameter Plugin回滚使用的这个插件
Docker Pipelinepipeline中docker环境隔离的能力
Parameterized Remote Trigger Plugin远程触发另一个jenkins项目构建配置
Blue Ocean持续交付(CD)Pipeline过程的可视化
Simple Theme主题
DingTalk构建通知

Jenkins:插件安装及使用教程

Jenkins针对不同的项目视图对不同的用户进行权限分配

新版Jenkins 2.346.1自动化部署(SVN+Maven)

Jenkins构建(8):Jenkins 执行远程shell :Send files or execute commands over SSH

jenkins:一个jenkins项目远程触发另一个jenkins项目构建配置

前端工程化:保姆级教学 Jenkins 部署前端项目

Jenkins Blue Ocean 环境搭建和Pipeline基本使用(基于docker-compose)

Jenkins持续集成部署实战采坑系列(三)

Generic Webhook Trigger 实现特定提交触发自动构建

Jenkins常用插件汇总以及简单介绍

Windows安装

下载

安装包官网下载链接

image-20230525094343594

注意:如果使用官网最新的 Jenkins.war 包,需要安装 Java11 以上

升级参考:Java 8(JDK 1.8)升级更新至 Java 17(JDK 17)

image-20230525094421475

启动

下载好之后即可启动,启动激活方法跟 Linux 是一样的

  • **注意:**解锁 Jenkins 的密码所在地址每台电脑会有所区别,复制自己的即可
# 前台启动命令
$ java -jar jenkins.war --httpPort=8084

# 后台启动命令
$ nohup java -jar jenkins.war --httpPort=8084 &
# 查看 java 的 pid
$ ps -ef | grep java
# 关闭 java 进程
$ kill -9 xxx(pid)

image-20230525102631276

Jenkins使用

构建前端

  1. 点击 新建Item,开始创建项目

    image-20230524141426137

  2. 输入一个任务名称,如:jenkins-test-project。选择 Freestyle project,点击 确定

    image-20230524141640031

  3. 点击 General。添加描述:这是我的第一个 jenkins 项目,用来测试

    image-20230524150322503

  4. 点击 源码管理,点击 Git,在 Repository URL 中输入

    http://192.168.1.242:9000/lilin/test-jenkins.git

    一般还得添加 Credentials,这里就不演示了

    image-20230524151659589

  5. 点击 构建环境。这里无需勾选任何东西,如果为了展示更加优化,可以勾选 Add timestamps to the Console OutputColor ANSI Console Output

    注意:需要安装两个插件 TimestamperAnsiColor

    image-20230525105556265

  6. 点击 构建,点击 增加构建步骤。选择 Execute shell,填入如下内容。之后点击保存即可

    node -v
    
    # 内网环境下需要修改
    npm install --registry https://registry.npm.taobao.org/
    npm run build
    
    DIR_PATH=`pwd`/dist
    # 需要修改
    FILE_NAME=jenkins-test-project
    # 需要修改
    TO_PATH=D:/Develop/nginx-1.20.2/project
    cd $TO_PATH
    rm -rf $FILE_NAME
    mkdir  $FILE_NAME
    cp -r $DIR_PATH/* $TO_PATH/$FILE_NAME
    

构建后端

构建后端跟前端基本上是一样的,也会有一些其他操作

  1. 写一些自动化脚本,比如杀程序的(需要借助:Publish Over SSH 插件)

    $ vim start.sh
    

    编写自动杀进程、启动程序脚本

    #!/bin/bash
    # !修改为自己的目录
    BASE=/home/template
    # !修改为自己的文件名
    FILE=xxx.jar
    
    # 删除历史数据
    rm -rf $BASE/$FILE
    # 数据包拷贝到指定位置,!修改为自己的文件目录位置
    cp $BASE/xxx/target/$FILE $BASE/$FILE
    PID=`ps -ef | grep ticket-base | grep 'java -jar' | awk '{printf $2}'`
    # 如果pid为空,提示一下,否则,执行kill命令
    if [ -z $PID ];
      then
        echo "java server not started"
      else
        kill -9 $PID
        echo "java server stoping...."
    fi
    # 启动程序
    nohup java -jar $BASE/$FILE >/dev/null 2>&1 &
    echo 'java server starting...'
    
  2. 构建完前端自动构建后端(需要借助:Parameterized Remote Trigger Plugin 插件),前后端打成一个 jar 包

    • 构建上下游项目
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Jenkins 是一个开源的持续集成和持续部署工具,可以用于自动化构建、测试和部署软件。要使用 Jenkins 自动化构建镜像,你需要遵循以下步骤: 1. 安装 Jenkins:首先,你需要在你的服务器或本地计算机上安装 Jenkins。你可以从 Jenkins 官网(https://www.jenkins.io/)下载并安装适合你操作系统的版本。 2. 配置 Jenkins:安装完成后,打开浏览器并访问 Jenkins 主页。点击“新建任务”,输入任务名称,选择“自由风格项目”,然后点击“确定”。 3. 配置源代码管理:在任务配置页面,找到“源码管理”部分,选择你的代码仓库类型(如 Git、SVN 等),并输入仓库地址和凭据。如果需要,你还可以选择触发器(如定时构建、分支提交等)。 4. 配置构建环境:在任务配置页面,找到“构建环境”部分,选择你要使用的 Docker 镜像作为构建环境。如果你还没有 Docker 镜像,可以在 Docker Hub(https://hub.docker.com/)或其他容器注册表中创建一个。创建完成后,将镜像 ID 添加到 Jenkins 任务中。 5. 配置构建步骤:在任务配置页面,找到“构建”部分,点击“添加构建步骤”,选择“执行 shell”或“执行 Windows 批处理命令”,然后输入相应的构建命令。例如,对于一个 Node.js 项目,你可能需要运行 `npm install` 和 `npm run build` 命令来安装依赖并构建应用程序。 6. 配置后置操作:在任务配置页面,找到“后置操作”部分,点击“添加后置操作”,选择“上传文件”或“发布应用”。这将允许你在构建成功后将生成的镜像或应用程序上传到指定的位置。 7. 保存任务配置:完成所有配置后,点击页面底部的“保存”按钮。现在,你已经设置了一个简单的 Jenkins 自动化构建镜像任务。当你推送代码到仓库时,Jenkins自动触发构建过程,并根据你的配置执行相应的命令和操作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值