当前位置:网站首页>Jenkins 发布PHP项目代码
Jenkins 发布PHP项目代码
2022-06-25 22:05:00 【ndrandy】
基于Jenkins发布php代码,其实核心就是三个插件
- git/svn 插件
- Push Over SSH 插件
- Role-based Authorization Strategy (该插件就是用于管理多项目时,用户权限分配,不同的角色控制不同项目)
网络上的资料,基本都是介绍如何配置的图例教程,但是本文章不介绍这些,关于配置资料已经很多了,本文章的目的是让大家了解整个发布过程。
安装jenkins的服务器本文称为:发布机器
运行项目代码的服务器本文称为:项目机器
jenkins就是基于 “发布机器”与“项目机器”间的ssh免密登陆,然后通过scp或者rsync同步到各个项目机器,如果还有shell脚本等就再执行shell。
配置流程简述
- 在Push Over SSH插件中(系统管理-> 系统配置-> Publish over SSH),需要配置 “发布机器”的私钥信息,以及N台项目机器的配置信息(机器name、ip、ssh免密用户名,项目代码路径等)
- 配置一个新项目,jenkins中称为Item, 配置中需要注意的点为:
# 构建(Build) 对于php项目而言,可以在这直接执行 代码发布+shell,这种情况一般用于 直接发布代码的模式
# 对于需要代码回滚的php项目,“构建”这步可以执行代码备份,或者将rollback版本的代码覆盖到jenkins的workspace中,linux下默认为:/var/lib/jenkins/workspace, 然后在 “构建后操作” 中在执行发布+shell执行等。这种情况可以把 “构建”理解为 pre-publish 即:发布预准备
# 发布过程中的细节,如要过滤传输的文件等,直接在ssh servers(项目机器集群)中的Transfer Set中进行配置
- 为每个项目分配角色,这样不同的项目组成员各自管理自己的项目,关键配置就是:Manage and Assign Roles->Manage Roles 中 配置各个项目role的全局Global roles,一般给“任务” tag的read权限,然后核心就是Item roles中给各自的role通过正则指定项目名称。
边栏推荐
- When are the three tools used for interface testing?
- QComboBox下拉菜单中有分隔符Separator时的样式设置
- The package name of the manifest file in the library project and the app project are not the same
- php性能优化
- Gradle的环境安装与配置
- Uniapp -- list page of multi header tabs
- 后序线索二叉树
- Use of xinchida ble 5.0 Low Power Bluetooth module (at command serial port transparent transmission) rsbrs02abr
- Run the dronekit flight control application on Shumei faction under px4-jmavsim software simulation environment
- Extraction system apk
猜你喜欢

Qtcreator formatting code

BI-SQL丨存储过程(一)

How does excel translate Chinese words into English automatically? This formula teaches you

UE4 learning records create a role and control its movement

idea 查看单元测试覆盖率

What is Unified Extensible Firmware Interface (UEFI)?

Gradle的环境安装与配置

QT custom implemented calendar control

Qt 中文和英文分别使用不同的字体

Database - mongodb
随机推荐
Uniapp -- list page of multi header tabs
Customize the qcombobox drop-down box, right align the display, and slide the drop-down list
Reprint: detailed explanation of qtablewidget (style, right-click menu, header collapse, multiple selection, etc.)
hiberate架构介绍及环境搭建(非常详细)
golang Make a list of intervals with sequential numbers
CSDN原力值
C. Planar Reflections-CodeCraft-21 and Codeforces Round #711 (Div. 2)
C. Fibonacci Words-April Fools Day Contest 2021
Leetcode 513. 找树左下角的值
C# IO Stream 流(一)基础概念_基本定义
excel如何实现中文单词自动翻译成英文?这个公式教你了
go中全类型等值判断解析&综合汇总
解决TypeError: Unicode-objects must be encoded before hashing
为什么Integer的比较最好使用equals
谷歌浏览器(Chrome)最新v80版本下载
Uni app -- listen for the exit of the return key
ACM. Hj16 shopping list ●●
Uniapp -- framework arrangement and analysis summary
登录拦截器
18亿像素火星全景超高清NASA放出,非常震撼