2.1.简介
Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能。
2.4.Jenkins安装
1.下载安装包jenkins.war;
2.在安装包根路径下,运行命令 java -jar jenkins.war --httpPort=8080,(linux环境、Windows环境都一样);
3.打开浏览器进入链接 http://localhost:8080.
4.填写初始密码,激活系统
5.进入插件安装选择
推荐安装的插件,保证基本常用的功能可以使用。
6.选择后,进入插件安装页面
7.设置初始用户和密码
配置环境
publish over ssh的插件
1、安装publish over ssh插件
Dashboard>Manage Jenkins>Plugins中,点击左栏中的Available plugins,再试试publish over ssh
2、服务器的配置
Dashboard->Manage Jenkins>System,下面输入服务器的密码验证
Credentials的设置
在Dashboard>Manage Jenkins>Credentials>System>Global credentials (unrestricted)中,配置Credentials
在 Jenkins 中,Credentials(凭证)用于管理 Jenkins 构建过程中需要使用的认证信息,如用户名、密码、SSH
私钥、X.509 证书等。它们的作用包括但不限于:
安全性:在 Jenkins 的早期版本中,敏感信息(如密码)可以通过在配置文件中明文存储。使用 Credentials,可以将这些敏感信息进行加密存储,从而提高安全性。
配置简化:存储和管理凭证后,可以在不同的 Jenkins Job 中复用这些凭证,而不需要在每个 Job 的配置中重复设置用户名和密码。
灵活性:Jenkins 支持多种类型的凭证,如用户名和密码、SSH 公钥和私钥、API 令牌等,可以根据需要灵活地选择和管理。
多环境支持:在复杂的环境或多环境架构中,可能需要为不同的服务器和服务使用不同的凭证。Credentials 允许用户针对不同环境创建和管理特定凭证。
版本控制:与 Jenkins 的 Job 配置一起,Credentials 也可以被保存在源代码控制系统中,从而实现版本控制和审计。
访问控制:Jenkins 允许管理人员控制哪些 Jenkins 用户可以访问特定的凭证,实现了细粒度的访问控制。
插件扩展:Jenkins 的 Credentials 系统也可以通过插件扩展,支持新的类型或提供额外的加密和认证方法。
shell执行器的配置
在window系统中,可以指定git bash的sh.exe来作为shell脚本的执行器
Jenkins的 Git Bash 中需要注意:
不能使用 conda activate xxx来激活本地的虚拟环境,会直接导致命令行运行结束。需要替换为:call activate xxx
Git Bash 中的地址与Windows的地址有所不同。Windows中 D:/Software在 Git Bash 中为 /d/Software
window的文件拷贝到服务器中
方法一:Execute shell
通过execute shell执行指定的命令
方法二:Send files or execute commands over SSH
Source files:复制到运程机上的文件,相对workspace的路径,也支持表达式,如上图中的“**/*.war”。
Remove prefix:文件复制时要过滤的目录,如上图中的target目录。
Remote directory:文件得到到远程机上的目录,此目录是相对于“SSH Server”中的“Remote directory”的,如果不存在将会自动创建。
额外注意点:
jenkins在pipkline的script块中执行shell命令时,每行shell命令保持相对独立,它们是顺序执行的,每个命令的执行环境是隔离的。这就意味着改变目录的命令(例如cd
build)不会影响其他行的执行环境。 freestyle project构建的项目中,build
steps(构建步骤)和post-build actions(构建后的操作)的区别: build steps(构建步骤)
1、定义:是jenkins工作流中定义的一系列需要执行的任务,这些任务用于实际构建代码的过程
2、作用:构建步骤通常包括编译、测试、打包等任务,他们是构建过程的核心。
3、执行时机:在执行构建命令期间按顺序运行,一旦前面的步骤完成,就会触发下面的步骤 示例:
执行 make 或 mvn 命令来编译代码。
运行单元测试,进行代码测试。
分析代码质量,比如通过 SonarQube。post-build actions(构建后的操作) 1、定义:是在构建过程中完成后,根据构建结果(完成或者失败)执行的一系列操作。
2、作用: 主要用于通知、部署、归档、清理等操作,通常不会直接影响构建结果。 3、执行时机:
构建步骤完成后,根据之前的构建步骤是否成功来选择是否执行或者触发一些特定的动作。 4、示例:
发送构建结果的电子邮件通知(构建成功或失败)。
将构建产物(如部署包)上传到文件服务器或部署至生产环境。
存档构建日志或产出物,比如打包 Jar 包并存储到特定目录。
添加后续的构建步骤/流程(如触发另一个 Jenkins 作业)。
参考链接:
1、https://blog.csdn.net/zhishidi/article/details/118082509
2、https://blog.csdn.net/a772304419/article/details/132838133
3、https://blog.csdn.net/qq_37372007/article/details/81586751
4、https://blog.csdn.net/redrose2100/article/details/121546769