说明

  • 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

备注

  • 该教程部分内容收集自网络,感谢原作者。

附录

标签: Linux, Jenkins

添加新评论


手机号仅后台超管可见,普通注册用户以及网站前台全站不可见,请勿担心泄露风险!