jenkins部署php
安装
最低配置: 不少于256M内存,不低于1G磁盘,jdk版本>=8 安装jdk1.8 yum install -y java-1.8.0-openjdk wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat/jenkins.repo rpm --import https://pkg.jenkins.io/redhat/jenkins.io.key yum install -y jenkins systemctl start jenkins [root@shuai-01 ~]# cat /var/lib/jenkins/secrets/initialAdminPassword # 安装密码 //查询admin安装密码 访问 http://ip:8080/ 进行安装
实验环境
- 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服务:
1
|
[root@7mini-node2 ~] # systemctl restart jenkins |
确保两个插件都安装好。
三.配置密钥认证
生成密钥对后,首先把公钥拷贝到远程的机器上去,也就是把公钥的内容粘贴到 .ssh/authorized_keys
文件里,和我们之前配置远程登录的密钥验证是一样的。(一定要保存在authorized_keys文件中)
3.1 server上创建密钥对
ssh-keygen -t rsa
scp ~/.ssh/id_rsa.pub ~/.ssh/authorized_keys
scp ~/.ssh/authorized_keys root@10.10.3.201:~/.ssh/
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构建输出完成
到远程机器上,看看是否已经存在这个目录:
本文来自博客园,作者:王竹笙,转载请注明原文链接:https://www.cnblogs.com/edeny/p/11271496.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统
· 【译】Visual Studio 中新的强大生产力特性
· 2025年我用 Compose 写了一个 Todo App
2018-07-30 2-----数据类型2
2018-07-30 mysql初始化
2018-07-30 1-----数据类型