0
点赞
收藏
分享

微信扫一扫

linux12Devops -->05 Jenkins部署php实战

金刚豆 2022-08-26 阅读 69


文章目录

  • ​​Jenkins部署php实战​​
  • ​​1.先手动在目标服务器测试源代码​​
  • ​​2.Jenkins免密​​
  • ​​3.在gitee上创建一个仓库,(配置清单+index.html)并打标签​​
  • ​​4.增加SSH server​​
  • ​​5.在Jenkins上创建一个项目,部署项目​​
  • ​​6.通过分支区分版本​​
  • ​​1)在gitee上创建不同版本的分支​​
  • ​​2)在jenkins上配置构建内容​​
  • ​​7.通过标签区分版本​​
  • ​​1)在gitlab上创建不同版本标签​​
  • ​​2)在Jenkins上配置构建内容​​

Jenkins部署php实战

1.先手动在目标服务器测试源代码

#1.在k8s集群的主节点上编写配置清单
[root@k8s-m-01 ~]# vim jenkins/jenkins-php-nginx.yaml
kind: Deployment
apiVersion: apps/v1
metadata:
name: jenkins-nginx-php
spec:
selector:
matchLabels:
app: jenkins-nginx-php
template:
metadata:
labels:
app: jenkins-nginx-php
spec:
nodeName: k8s-n-01 #指定部署在主节点上(可写可不写)
containers:
- name: php
image: registry.cn-shanghai.aliyuncs.com/aliyun_mm/discuz:php-v2
volumeMounts:
- mountPath: /usr/share/nginx/html
name: data
- name: nginx
image: registry.cn-shanghai.aliyuncs.com/aliyun_mm/discuz:nginx-v2
volumeMounts:
- mountPath: /usr/share/nginx/html
name: data

volumes: #使用nfs服务将容器的/usr/share/nginx/html挂载到主节点的/vfs/v2下方
- name: data
nfs:
path: /nfs/v3
server: 192.168.15.111
---
kind: Service
apiVersion: v1
metadata:
name: jenkins-nginx-php-svc
spec:
ports:
- port: 80
targetPort: 80
selector:
app: jenkins-nginx-php
type: NodePort

#2.部署配置清单
[root@k8s-m-01 ~]# kubectl apply -f yaml/jenkins-php-nginx.yaml

[root@k8s-m-01 ~]# kubectl get pods
NAME READY STATUS RESTARTS AGE
jenkins-nginx-php-6b478bbd67-2ks6n 2/2 Running 0 15s
nfs-client-nfs-client-provisioner-569b7ccff8-tvx6m 1/1 Running 2 2d16h

[root@k8s-m-01 jenkins]# kubectl get svc
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
jenkins-nginx-php NodePort 10.111.64.164 <none> 80:30051/TCP 8s
kubernetes ClusterIP 10.96.0.1 <none> 443/TCP 15d


[root@k8s-m-01 ~]# echo "<?php phpinfo();" > /nfs/v3/index.php #手动添加访问的文件

注:浏览器访问192.168.12.111:30051出现php官网页面说明配置清单及环境无问题(如下图)
注:正经访问流程:浏览器通过IP+端口请求/nfs/v2下方文件,因为此路径与容器内/usr/share/nginx/html挂载,等同于访问/usr/share/nginx/html目录下文件。

linux12Devops -->05 Jenkins部署php实战_devops

2.Jenkins免密

#1.生成密钥对
[root@jenkins ~]# ssh-keygen -t rsa

#2.将公钥推送到目标服务器(master)
[root@jenkins ~]# ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.15.111

3.在gitee上创建一个仓库,(配置清单+index.html)并打标签

#1.下载代码管理工具git
[root@k8s-m-01 ~]# yum install git -y

linux12Devops -->05 Jenkins部署php实战_devops_02

4.增加SSH server

系统管理 ---> 系统配置 ---> Publish over ssh 增加一个ssh server

linux12Devops -->05 Jenkins部署php实战_nginx_03


linux12Devops -->05 Jenkins部署php实战_git_04

5.在Jenkins上创建一个项目,部署项目

linux12Devops -->05 Jenkins部署php实战_nginx_05


linux12Devops -->05 Jenkins部署php实战_devops_06

linux12Devops -->05 Jenkins部署php实战_devops_07


linux12Devops -->05 Jenkins部署php实战_devops_08


linux12Devops -->05 Jenkins部署php实战_nginx_09


linux12Devops -->05 Jenkins部署php实战_php_10

linux12Devops -->05 Jenkins部署php实战_nginx_11


linux12Devops -->05 Jenkins部署php实战_nginx_12

linux12Devops -->05 Jenkins部署php实战_php_13

linux12Devops -->05 Jenkins部署php实战_php_14


linux12Devops -->05 Jenkins部署php实战_php_15


linux12Devops -->05 Jenkins部署php实战_devops_16


linux12Devops -->05 Jenkins部署php实战_nginx_17

6.通过分支区分版本

1)在gitee上创建不同版本的分支

linux12Devops -->05 Jenkins部署php实战_git_18


linux12Devops -->05 Jenkins部署php实战_devops_19

2)在jenkins上配置构建内容

选择不同分支进行构建

linux12Devops -->05 Jenkins部署php实战_git_20

linux12Devops -->05 Jenkins部署php实战_git_21


linux12Devops -->05 Jenkins部署php实战_nginx_22

7.通过标签区分版本

1)在gitlab上创建不同版本标签
2)在Jenkins上配置构建内容

选择不同标签进行构建


举报

相关推荐

0 条评论