Linux-Jenkins构建项目简单流程(PHP项目)
说明
- Jenkins构建项目简单流程(PHP项目)
操作步骤
》安装Jenkins
- 自行安装或者参考我的相关教程(CentOS7安装Jenkins),本章假设你已经安装好了Jenkins环境。
》Jenkins安装必要插件
- ssh:管理ssh秘钥的(必选)
- git:拉取代码的(必选)
- Publish Over SSH:往远程服务器推送代码并可以在远程服务器执行命令的(必选)
- Localization: Chinese (Simplified):汉化的(可选)
》创建代码仓库
使用gitee、GitHub或自建Gitlab
- 新建项目jenkins001并初始化
获取克隆地址URL
- 如果Jenkins使用Git账号密码拉取代码,就用HTTPS链接
- 如果Jenkins使用SSHKey拉取代码,就用SSH链接
》Jenkins配置准备
添加Git账号(选装git插件,否则没有该选项)
- 依次点击:Dashboard | Manage Jenkins | Manage Credentials | global | Add Credentials
- 可以选择账号密码,也可以选择SSHKey,本案例以账号密码方式为例
- Username、Password哪些就不做过多说明了,ID就是一个唯一标识。
- 作用:这个账号用来构建的时候从Git仓库拉取项目代码的
添加发布目标服务器(需安装Publish Over SSH插件,否则没有该选项)
- 依次点击:Dashboard | Manage Jenkins | Configure System
- 下拉到页面底部,找到”SSH Servers“选项栏,点击”Add“
参数说明:
- Name:标识,下拉选项显示
- Hostname:IP或域名
- Username:用户名,避免后续一些shell命令无权限请使用root账号
- Remote Directory:登陆默认路径
Advanced
- Use password authentication, or use a different key:勾选后设置密码或SSHKey
- Passphrase / Password:密码
- Path to key:本机(Jenkins所在机器)SSHKey路径,可以是绝对路径也可以是相对$JENKINS_HOME的路径(该项与Key二选一)
- Key:本机(Jenkins所在机器)SSHKey的值(该项与Path to key二选一)
》Jenkins新建项目(Freestyle模式)
- 依次点击:Dashboard | New Iterm
Enter an item name:项目名,也就是本机存储目录,包括配置和Git拉取的代码等
- Freestyle project:自由配置的项目类型,也就各项配置需要手动配置
进入配置页面
Source Code Management:源代码管理,也就是设置从哪里拉取代码
Git
- Repository URL:项目Git仓库地址(注意:账号密码方式选择HTTPS链接,SSHKey方式选择SSH链接)
Credentials:认证秘钥,下拉选择之前已经添加好的Git账号
- 选择完如果不报红就是成功了
- Branch Specifier (blank for 'any'):选择拉取哪个分支
Post-build Actions:构建后操作,也就是处理最终将代码推送到哪些服务器上等的操作(你也可以放在Build选项中)
下拉选择:Send build artifacts over SSH
SSH Server:就是之前添加的
Source files:将检出的代码中的哪些文件推送到目标服务器,不填默认全部文件。
# 匹配规则: # **:递归匹配目录 # *:只匹配顶级目录 **/** # 表示所有文件 target/*.jar # target文件夹下的所有jar包
- Remove prefix:哪些目录结构不创建,比如你要把target/test.jar放在根目录,这里就填写target。
- Remote directory:目标文件夹,也就是将代码放在目标服务器的哪个目录,
- **注意:该目录是相对于SSH Server中设置的登陆默认路径的相对路径。**
- Exec command:发布后执行的shell命令,比如设置目录权限、复制配置文件等操作等。
Build Triggers:构建触发器,也就是设置自动触发构建的钩子,比如当有commit动作时触发、轮询触发等
- 具体配置过程暂不做演示。
》Jenkins新建项目(Pipeline模式)
- 暂不做演示
》Jenkins手动发布代码
- 点击项目详情页的:Build Now
备注
- 该教程部分内容收集自网络,感谢原作者。
附录
- 无