docker+jenkins自动化部署PHP项目

Docker+Jenkin实现PHP项目自动化部署

前期准备:

  1. 更新安装Docker环境;
  2. 拉去运行jenkins镜像;
  3. jenkins安装配置相关插件;

安装Docker环境:

卸载docker旧版:

yum remove docker \

​         docker-client \

​         docker-client-latest \

​         docker-common \

​         docker-latest \

​         docker-latest-logrotate \

​         docker-logrotate \

​         docker-engine  

安装yum-utils包:

yum install -y yum-utils

设置阿里云镜像仓库:

yum-config-manager \

  --add-repo \

  http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

启动Docker:

systemctl start docker

运行jenkin镜像:

安装Jenkins:(注意关注端口占用清空 netstat -anp | grep xxx)镜像使用的是 “jenkins/jenkins:lts”

docker run -itd -uroot -p 8080:8080 -p 50000:50000 -v /var/jenkins_home:/var/jenkins_home jenkins/jenkins:lts

浏览器访问项目:http://${服务IP}:8080
在这里插入图片描述

进入容器获取密码:

# 进入Jenkins
docker exec -it ${容器ID} /bin/bash
#查看密码
cat /var/jenkins_home/secrets/initialAdminPassword

选择安装推荐的插件,然后等待Jenkins自行安装:

在这里插入图片描述

全部安装完成,点击继续。

安装配置插件:

在系统管理->插件管理->

在这里插入图片描述

PHP项目是非编译型的,所以不需要配置安装maven,是需要安装SSH一个即可。其他就是gitee用到可以装一下,如果像我一样需要多分支构建则还需要添加"Git Parameter Plug-In"。。
在这里插入图片描述

全局配置:

在系统管理->全局配置,拉到最低添加SSH Server:

在这里插入图片描述

Jenkins主机将密钥发布到web主机:

[root@jenkins ~]# su -s /bin/bash jenkins
bash-4.2$ ssh-keygen
bash-4.2$ ssh-copy-id root@[远程Web服务IP]

这样在添加SSH Server点击测试连接才能跑通~~

在这里插入图片描述

新建任务:

点击构建一个自由风格的软件项目

在这里插入图片描述

获取我们的仓库地址(gitlab、gitee…) 我的用的是coding

在这里插入图片描述

这里需要现在jenkins容器中配置好SSH密钥:

ssh-keygen -t rsa
cat ~/.ssh/id_rsa.pub

然后配置到代码管理平台上,记得在容器中试拉去下是否成功~~

由于我需要多分支配置,所以我先配置分支变量:(这里是定义了一个全局变量branch,后续会用到)

最终效果:

在这里插入图片描述

配置步骤:

在这里插入图片描述

填写拉去仓库地址配置:

在这里插入图片描述

最后我通过shell脚本基于rsync工具实现远程同步,这里是因为我基于选择的分支去同步不同路径上的项目

在这里插入图片描述

一般简单一句:

rsync -avz --delete * "root@[远程服务IP]:$dest" 

这是我需要用到的:

#!/bin/bash

if [ "$branch" == "origin/master" ]; then
    dest="/www/wwwroot/new_zhubao"
elif [ "$branch" == "origin/test" ]; then
    dest="/www/wwwroot/test_zhubao"
else
    dest="/www/wwwroot/dev_zhubao"
fi

rsync -avz --delete * "root@[远程服务IP]:$dest"

这里补充下,如果执行失败可能是没有下载rsync,记得远程服务和本地服务都要安装一下哦,确保万无一失~~

centos:yum install rsync
ubantu: sudo apt update
        sudo apt-get install rsync
  • 14
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
个人简历 基本信息: 姓名:xxx 性别:男 出生日期:xxxx年xx月 联系电话:xxxx-xxxxxxx 邮箱:xxxxx@xx.com 教育背景: xxxx年-xxxx年,xxx大学,计算机科学与技术专业,本科 工作经历: xxxx年至今,xxx公司,PHP工程师 - 参与公司内部网点对公效能系统的开发,使用PHP Zend Framework和Vue.js技术栈 - 负责系统的设计、开发、测试、部署和维护 - 使用DockerJenkins进行自动化部署,提高了开发效率和部署效率 - 与团队成员紧密合作,参与需求讨论、技术选型和代码评审等工作,保证项目的质量和进度 - 完成了多个独立模块的开发和维护,包括用户管理、权限管理、数据统计等 - 解决了多个线上问题,保证了系统的稳定性和可用性 技能清单: - 熟练掌握PHP语言,了解PHP Zend Framework和Laravel等框架 - 熟悉前端开发,熟练掌握Vue.js和Element UI等前端框架 - 熟悉MySQL数据库,了解Redis缓存和MongoDB等NoSQL数据库 - 熟练掌握DockerJenkins自动化部署工具 - 了解Linux系统,熟悉常用命令和Shell脚本编写 - 了解Git版本控制工具,熟悉GitHub和GitLab等平台 自我评价: - 具备良好的沟通能力和团队协作能力,能够与团队成员紧密合作,共同完成项目 - 熟悉敏捷开发方法,能够快速响应需求变化,保证项目进度和质量 - 具备较强的自学能力和解决问题能力,能够独立思考和解决问题 - 热爱技术,乐于分享和交流,能够不断学习和提升自己的技能水平 希望能够为贵公司的项目做出贡献,期待贵公司的面试。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值