进入Jenkins web管理界面,点击左侧新建任务(New Item)
进入创建页面后,输入任务名称,名称自定义,选择构建一个maven项目
描述(name):对任务的描述
丢弃旧的构建(Discard Old Builds):用于自动删除旧的构建记录,以释放磁盘空间并提高系统性能。在这个设置中,你可以指定保留多少个最新构建,以及是否保留构建日志和其他构建数据。
GitHub 项目:可以指定 Github 仓库的 URL,以便 Jenkins 可以获取 Github 仓库的代码和其他配置信息。非必填
一般我们的源码管理都是git,勾选Git选项之后,就会出现相关的填写项
Repository URL填写我们的git项目地址,就是克隆的地址
接下来就可以点击Credentials下的添加,来添加凭证,凭证有多种方式,有用户名或密码、ssh、token等,选择其中一种凭证方式即可
1、用户名/密码,填写我们git的用户名和密码
类型为 username with password
2、ssh密钥
类型为SSH Username with private key
如果使用ssh密钥进行认证,那么就填写我们的ssh私钥和用户名
Branches to build可以指定我们的git分支,指定之后,就会从该分支拉取代码
Jenkins的构建触发器是一种机制,用于触发构建任务的执行。这使得Jenkins能够根据预设的条件或事件自动检测更改并执行相应的构建操作。
Jenkins提供了多种类型的构建触发器,包括轮询SCM、远程触发器、定时构建等
远程构建
在 “身份验证令牌” 字段中输入一个用于验证请求的密钥。这个密钥将被用作构建 URL 的一部分。
完成上述设置后,你可以通过发送 HTTP POST 请求来触发 Jenkins 构建。构建 URL 的格式如下:
JENKINS_URL/me/my-views/view/all/job/test/build?token=TOKEN_NAME
JENKINS_URL是我们的jenkins的ip地址,TOKEN_NAME就是我们填的身份验证令牌,test是我们的作业名称
通过向该 URL 发送 POST 请求,就可以触发 Jenkins 的构建
按照我们所填的日程表cron表达式定时构建
在某个工程构建之后进行构建,在关注的项目填写工程名称
当我们安装了git或者gitlab的插件的时候,还可以使用webhook url,当变更被推送到Git或者GitLab时进行构建
构建环境有以下选择,大家按需配置
Delete workspace before build starts(在开始构建之前删除工作区)
Use secret text(s) or file(s)(使用秘密文本或文件)
Send files or execute commands over SSH before the build
starts(在开始构建之前,通过SSH发送文件或执行命令)
Send files or execute commands over SSH after the build
runs(在构建运行之后,通过SSH发送文件或执行命令)
Inspect build log for published build scans(检查构建日志,查看已发布的构建扫描)
Terminate a build if it’s stuck(如果卡住,终止构建)
一般我们用的比较多的是Send files or execute commands over SSH before the build starts,这个是我们安装了Publish Over SSH插件才会有的功能,一般用于发送文件或者在远程服务器执行命令
Source files:需要发送的文件路径(jenkins服务器上的文件),路径相对于工作区,多个文件使用,分隔
Remove prefix:需要去除的前缀,没有则为空。比如我们的Source files源文件路径为target/demo-0.0.1-SNAPSHOT.jar,那么如果我们的Remove prefix为空,那么jenkins也会创建一个target目录,而不是直接存放文件到我们的远程目录,所以一般我们的文件有前缀目录,一般会在Remove prefix填写去除
Remote directory:远程服务器的目录,就是文件要上传发送到远程服务器的目录地址
Exec command:在远程服务器上执行的命令,该命令将在传输完所有文件后在远程服务器上执行,没有文件传输则只执行命令
Pre Steps可以设置构建之前的操作,比如执行一个shell或者发送文件,执行命令等操作。Pre Steps和Post Steps是需要我们安装了Maven Integration 插件才有的
Root POM: 本次构建要使用的git仓库中的pom文件,Root POM 填的路径是相对与jenkins的工作空间的,如果你的工作空间在第一个模块的根目录之外的某个地方有顶层的pom.xml,请在这里指定路径(相对于模块根目录),例如parent/pom.xml。如果为空,默认为pom.xml,就是根目录下的pom文件
Goals and options: 要执行的mvn命令 不用写前面的mvn,一般就是clean package -DskipTests,清除 打包 跳过单元测试
Post Steps(后置步骤)是指在构建完成后执行的操作
Post Steps有以下三种选项:
Run only if build succeeds:仅在构建成功时运行
Run only if build succeeds or is unstable:仅在构建成功或不稳定时运行
Run regardless of build result:无论构建结果如何都运行,这将确保后置步骤在构建成功、失败或者被中止时都会执行。
选择好我们的执行时机之后,点击Add post-build step,来添加我们的构建后操作
如下是我将打包之后的项目发送到远程服务器,并使用脚本进行启动
nohup: 无法运行命令"java": 没有那个文件或目录
解决:
1、脚本添加source /etc/profile
2、将java命令改为全路径
可以配置E-mail Notification进行邮件通知,在Recipients填写邮箱地址
构建后操作也是用于项目构建成功之后执行的操作,下面是一些常用选项
Send build artifacts over SSH:通过SSH发送文件或执行命令,我们可以通过这个配置将构建后的项目发送到远程服务器进行部署
Deploy artifacts to Maven repository:将工程部署到Maven存储库