自动化集成:Jenkins管理工具详解

前言:该系列文章,围绕持续集成:Jenkins+Docker+K8S相关组件,实现自动化管理源码编译、打包、镜像构建、部署等操作; 本篇文章主要描述Jenkins基础用法

自动化集成:Jenkins管理工具详解

一、Jenkins安装

1、环境部署

下载Jenkins包

注意这里直接下载war文件,以Java服务的形式启动。

  • 环境:war运行
  • 版本:2.289.3
  • 类型:Generic Java package (.war)

启动命令

java -jar jenkins.war --httpPort=8090

启动日志

Jenkins is fully up and running

访问本地端口:8090

页面提示输入初始登录密码的位置,查看文件中的初始密码,然后完成登录。

[En]

The page prompts for the location of the initial login password, looks at the initial password in the file, and completes the login.

/.jenkins/secrets/initialAdminPassword

安装推荐插件

登录后安装推荐的插件。

[En]

Install the recommended plug-ins after logging in.

自动化集成:Jenkins管理工具详解

创建用户

插件安装完成后,系统将提示您创建用户。

[En]

You will be prompted to create a user after the plug-in installation is complete.

账号:admin  密码:admin

这样初始化完成。

重新启动:restart

Jenkins_url/restart

2、配置与插件

基础配置

打开: Manage-Jenkins选项,配置 Global-Tool-Configuration选项:

自动化集成:Jenkins管理工具详解
- 查看JDK安装目录
/usr/libexec/java_home -V

- 查看Git安装目录
which git

- 查看Maven安装目录
mvn -v

配置组件:JDK、Git、Maven,采用开发环境的组件版本;

插件安装

自动化集成:Jenkins管理工具详解

安装如下插件:

1、Maven插件
Maven Integration plugin

2、Pipeline插件
Pipeline Utility Steps

二、本地Git打包

简介:基于Jenkins完成本地的Git仓库项目打包;

1、新建Item

自动化集成:Jenkins管理工具详解
  • 任务名称:MavLoc,处理本地maven工程;
  • 任务类型:选择构建maven项目;

2、构建记录管理

自动化集成:Jenkins管理工具详解

保持构建的天数:3天,保持构建的最大个数:10个;

3、构建过程

前置 Pre-Steps步骤,这里执行一次maven版本查看:

自动化集成:Jenkins管理工具详解

构建 Build步骤,这里直接写项目的pom路径,注意执行的maven命令:

自动化集成:Jenkins管理工具详解
clean package -Dmaven.test.skip=true

后置 Post Steps步骤,注意选择构建成功后才执行,自行忽略这里shell语法的不入流组合:

自动化集成:Jenkins管理工具详解
#!/bin/bash

BUILD_ID=dontKillMe

定义目录
AUTO_PATH=/项目路径/butte-auto-parent/

移动Jar包
cd $AUTO_PATH/auto-client/target/
pwd
mv auto-client-1.0-SNAPSHOT.jar $AUTO_PATH

cd $AUTO_PATH/auto-serve/target/
pwd
mv auto-serve-1.0-SNAPSHOT.jar $AUTO_PATH

启动服务
cd $AUTO_PATH

nohup java -jar auto-client-1.0-SNAPSHOT.jar &
echo "run auto-client ..."

sleep 20s

nohup java -jar auto-serve-1.0-SNAPSHOT.jar &
echo "run auto-serve ..."

4、执行构建

完成上述配置后,打开任务页面并执行以下操作:

[En]

After the above configuration is complete, open the task page and do the following:

  • Build Now:执行上面的构建任务;
  • 构建 #ID:查看控制台输出的日志;

这样就可以通过jenkins完成本地项目的打包和启动了。

三、API触发任务

1、用户令牌

简介:通过配置用户API访问的token令牌,脱离jenkins控制台,直接触发构建任务;

进入用户面板的设置选项,配置 API Token:

自动化集成:Jenkins管理工具详解

注意这里生成令牌后要立刻复制下来,页面会提示token无法复现。

2、任务令牌

任务配置的构建触发器模块,用于设置远程构建的令牌:

[En]

The build trigger module of the task configuration, which sets the token for the remote build:

自动化集成:Jenkins管理工具详解

上面已经给到token的使用方式。

3、脚本触发

通过以下方式直接触发上述构建任务的流程:

[En]

Directly trigger the process of the above build task in the following ways:

curl http://用户:令牌@Jenkins_Url/job/MavLoc/build?token=任务令牌

这里通过脚本直接请求URL的方式触发流程。

四、打包Git项目

1、配置仓库

创建MavGit任务,这里不做过多的配置,与本地仓库相比,只是把仓库地址换成Gitee地址,只配置仓库url和分支即可,其他采用默认:

自动化集成:Jenkins管理工具详解

因为是开放的仓库地址,所以不用配置账号密码,默认指定master分支,然后执行build构建。

2、查看空间

上面流程执行完后,查看MavGit的工作空间: /.jenkins/workspace/MavGit

这里可以明显发现,仓库的代码已经被pull下来,并且完成了自动打包流程,后续结合shell脚本完成jar启动管理即可。

同系列文章:┃ 服务部署发布灰度模式自动化流程消息中间件改造微服务组件二次浅封装

五、源代码地址

GitEE·地址
https://gitee.com/cicadasmile/butte-auto-parent
Wiki·地址
https://gitee.com/cicadasmile/butte-java-note/wikis

Original: https://www.cnblogs.com/cicada-smile/p/15705151.html
Author: 知了一笑
Title: 自动化集成:Jenkins管理工具详解

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/524281/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • 武装你的WEBAPI-OData常见问题

    本文属于OData系列 Intro 非常喜欢OData,在各种新项目中都使用了这个技术。对于.NET 5.0, OData推出了8.0preview,于是就试用了一下。发现坑还是非…

    Linux 2023年6月6日
    078
  • 添加SSH服务

    1、基于commit命令创建 1.1 启动容器 [root@master ~]# docker run -it ubuntu:18.04 bash #更&am…

    Linux 2023年6月13日
    079
  • 使用Navicat远程连接Oracle报错ORA-28547问题解决

    用Navicat连接Oracle数据库时出现如下错误: 按照数据库连接信息去连接就好了,注意的是默认的Server Name是ORCL,记得改成你要连接的数据库名; 在进行连接测试…

    Linux 2023年6月13日
    0112
  • PyTorch介绍-保存和加载模型

    本节我们将会看到如何保存模型状态、加载和运行模型预测 import torch import torchvision.models as models 保存和加载模型权重 PyTo…

    Linux 2023年6月14日
    091
  • Tensorflow

    1.什么是Tensorflow? Tensor(张量)意味着 N 维数组,Flow(流)意味着基于数据流图的计算,TensorFlow即为张量从图的一端流动到另一端。 它支持CNN…

    Linux 2023年6月6日
    086
  • 中土批量运维神器《ps1屠龙刀》 pk 西域批量运维圣器《ansible圣火令》

    据故老相传,运维界有句话:”脚林至尊,宝刀【ps1屠龙】,号令被控,莫敢不从”。 https://gitee.com/chuanjiao10/kasini3…

    Linux 2023年6月14日
    0106
  • MyCAT实现MySQL读写分离

    用户连接到MySQL的中间件(代理),中间件接收用户的访问转发给后端的mysql数据库。 是MySQL的一个中间件软件,Mycat是一个开源的分布式数据库系统,是一个实现了MySQ…

    Linux 2023年6月7日
    074
  • podman的基本用法

    podman的基本设置和使用 运行示例容器 列出正在运行的容器 检查正在运行的容器 测试 httpd 服务器 查看容器的日志 查看容器的 pid 检查点容器 恢复容器 迁移容器 停…

    Linux 2023年6月13日
    076
  • Git报错 error: cannot spawn more: No such file or directory

    问题原因 error: cannot spawn more: No such file or directory 这个错误意思是不存在more指令,我是windows平台,自然这个…

    Linux 2023年6月6日
    093
  • PHP 获取数组长度

    count()函数,默认是获取一维数组,参数为:COUNT_NORMAL,添加第二个参数:COUNT_RECURSIVE,则可以获取多维关联数组的长度(意思为递归获取),例如:co…

    Linux 2023年6月7日
    0110
  • 17-二分查找

    * import java.util.Arrays; import java.util.Random; import java.util.Scanner; public class…

    Linux 2023年6月7日
    084
  • 文件夹图标修改软件 FolderIco

    本来文件夹图标是可以自定义的,只要找好图片,在软件中把图片格式转换成ico,再在文件夹属性中设置图标就可以了。 但是我发现转换出来的ico不够清晰,只有256*256,在大图标模式…

    Linux 2023年6月6日
    0104
  • 唯一主键方案之数据库维护区间分配

    我们介绍一种基于数据库维护自增 ID 区间,结合内存分配的策略,这也是淘宝的 TDDL 等数据库中间件使用的主键生成策略。 使用这种方式首先在数据库中创建 sequence 表,其…

    Linux 2023年6月16日
    0207
  • phpcms如何在前台文章列表前显示所属类别名称

    最近做单位网站模版遇到的问题,欲实现的效果: 但是phpcms中自带的文章列表标签没有这个功能,数据库中文章表中也只有类别id的字段,因此不能通过简单的{$r[catname]}读…

    Linux 2023年6月13日
    087
  • 【MySQL篇】Navicat导入SQL大文件报错终极解决方案

    面对 大数据库文件(一般50M以上),使用Navicat导入的时候容易出现 [ERR]2006等报错问题,此文提供了几种办法,包括修改MySQL的配置参数在网上也有很多详细教程介绍…

    Linux 2023年6月13日
    096
  • 在Ubuntu20.04上安装Kubernetes-Kubeadm和Minikube

    镜像下载、域名解析、时间同步请点击阿里云开源镜像站 在本文中,我们将了解如何在 Ubuntu 20.04 上安装 Kubernetes。在过去的几年里,容器化为开发人员提供了很大的…

    Linux 2023年5月27日
    0100
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球