Jenkins发布PHP代码
实验环境
- 10.0.0.12 Jenkins服务器
- 10.0.0.13 远程服务器
- 一个远程的公开的git仓库(php代码在这个仓库里)
一.检查插件是否安装并安装插件
在通过Jenkins发布php代码之前,我们首先需要在Jenkins服务的web页面上检查一下 “Git plugin” 和 “Publish Over SSH” 两个插件是否已安装:
“系统管理” → “管理插件” → “已安装”,然后搜索Git plugin看看是否已安装,一般这个插件都是默认安装的:
然后到 “可选插件” 里安装 Publish Over SSH 插件:
二.重启Jenkins服务:
[root@7mini-node2 ~]# systemctl restart jenkins
确保两个插件都安装好。
三.配置密钥认证
生成密钥对后,首先把公钥拷贝到远程的机器上去,也就是把公钥的内容粘贴到 .ssh/authorized_keys
文件里,和我们之前配置远程登录的密钥验证是一样的。(一定要保存在authorized_keys文件中)
3.1 server上创建密钥对
[root@7mini-node2 ~]# ssh-keygen
3.2 查看密钥粘贴在jenkins配置中,点击“系统管理” → “系统设置”,下拉页面,大概在网页的最下面可以找到 “Publish Over SSH”
[root@7mini-node2 ~]# cat .ssh/id_rsa
注:Jenkins SSH Key 这一栏默认会使用Jenkins管理员admin账户的密码,可以不填则设置为空密码。
四.构建项目
4.1 以上我们配置完了插件以及远程机器,现在就可以开始新建任务了:
4.2 配置项目名称与描述:
4.3 配置远程仓库的地址:
4.4 构建触发器,以及构建环境都不需要配置,因为我们发布的是php代码:
4.5 “构建” ,最核心的一步,选择 “Send files or execute commands over SSH” :
简单说明:
- SSH Server,Name 选择对应的服务器,
- Transfers, Source files填写
**/**
,表示全部文件 - Remove prefix可以指定截掉的前缀目录,这里留空即可,
- Remote directory指定远程服务器上代码存放路径,比如/data/wwwroot/www.aaa.com
- Exec command为文件传输完成后要执行的命令,比如可以是更改文件权限的命令,设置完成后点击 “Add Transfer Set”,如果还有另外的机器,可以点击 “Add Server”重复以上操作
完成以上操作后,就可以使用这个刚刚创建的任务去工作了,点击左面的 “立即构建” ,就能把git上的代码发布到指定的服务器上:
4.6构建输出完成
到远程机器上,看看是否已经存在这个目录:
Jenkins发布PHP代码的更多相关文章
- jenkins发布PHP代码(三)
一.先检查是否安装Git plugin和Publish Over SSH插件 系统管理-->插件管理-->已安装插件-->搜索Git plugin和Publish Over SSH ...
- jenkins自动发布java代码
注:本文来源于<KaliArch> jenkins笔记 一.相关概念 1.1 Jenkins概念: Jenkins是一个功能强大的应用程序,允许持续集成和持续交付项目,无论用的是什么平台. ...
- jenkins发布代码选择不同分支
jenkins上传代码分支以前都是用变量的方式,手动实现.过程就像这样 构建时候的界面就像下面这样,需要手动输入分支版本. 或者有固定的上线分支,用参数化构建 选项参数 来选择.总之这些方法比较传统, ...
- Jenkins发布MVC应用程序
一个大的项目一般都会进行模块化.层次化分隔,每个模块.每个层次都可能是一个或多个工程文件组成,而且各个模块都有依赖关系,有先后顺序,先build哪个然后再build哪个都是有顺序的,如果想build一 ...
- Jenkins与网站代码上线解决方案
1.1 前言 Jenkins是一个用Java编写的开源的持续集成工具.在与Oracle发生争执后,项目从Hudson项目独立. Jenkins提供了软件开发的持续集成服务.它运行在Servlet容器中 ...
- Jenkins与网站代码上线解决方案【转】
转自 Jenkins与网站代码上线解决方案 - 惨绿少年 https://www.nmtui.com/clsn/lx524.html 1.1 前言 Jenkins是一个用Java编写的开源的持续集成工 ...
- jenkins发布程序触发shell调用python脚本刷新akamai cdn api
刷新cdn的流程:jenkins获取git中的代码,触发脚本推送到生产环境中(即cdn的源站) --> 触发脚本获取git工作目录的更新列表,将更新列表拼凑成带域名信息的url,写入到目录中 - ...
- docker封装vue项目并使用jenkins发布
一.概述 vue项目可以打一个dist静态资源包,直接使用Nginx发布即可. 现在由于要上docker,需要将vue项目和nginx打成一个镜像才行. 项目结构如下: ./ ├── build │ ...
- 【重新发布,代码开源】FPGA设计千兆以太网MAC(1)——通过MDIO接口配置与检测PHY芯片
原创博客,转载请注明出处:[重新发布,代码开源]FPGA设计千兆以太网MAC(1)——通过MDIO接口配置与检测PHY芯片 - 没落骑士 - 博客园 https://www.cnblogs.com/m ...
随机推荐
- DataXceiver error processing unknown operation src: /127.0.0.1:36479 dst: /127.0.0.1:50010处理
异常信息如下: 2015-12-09 17:39:20,310 ERROR datanode.DataNode (DataXceiver.java:run(278)) - hadoop07:50010 ...
- Android滚动栏控件的优化
背景 由于普通TextView的跑马灯效果与焦点获取有关 所以不能直接使用 之前查找到的控件在数据设置方面存在问题 所以通过寻找github上的开源控件 并修改源码 得到一个目前感觉不错的效果 原理 ...
- 【C++ STL】Stack
1.定义 class stack<> 实作出一个stack(也成为LIFO,后进先出),你可以使用push()将任意数量的元素置入stack中,也可以使用pop()将元素依次插入次序反序从 ...
- jedis,spring-redis-data 整合使用,版本问题异常
jedis,spring-redis-data 整合使用,版本不匹配的时候经常会报一些异常,例如1: java.lang.NoClassDefFoundError: org/springframewo ...
- js高阶函数--判断数据类型、函数胡柯里化;
一.判断数据类型: 常见的判断有typeof.instanceof. constructor. prototype,先来看typeof: var a = "hello world" ...
- UIImageView属性---iOS-Apple苹果官方文档翻译
本系列所有开发文档翻译链接地址:iOS7开发-Apple苹果iPhone开发Xcode官方文档翻译PDF下载地址 //转载请注明出处--本文永久链接:http://www.cnblogs.com/C ...
- python学习笔记(八)之元组
元组:和列表十分相似,可以说是一个受限的列表.最大的限制是,元组不能更改. 创建元组 >>> tuple1 = (123,'asd',(1,2,3)) >>> tu ...
- jq_从右向右的滑入滑出效果
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- Android控件——ImageView
android:orientation="vertical" 修改布局文件垂直排列 放置图片: 1.通过src引入图片: 2.通过background引入背景图片 3.baco ...
- perl6中的替换
use v6; =begin pod perl6 中的替换用S/// S有几个可选参数: :g —(长形式::global)全局匹配:替换掉所有的出现 :i —不区分大小写的匹配 :ii —(长形式: ...