基于Jenkins自动化部署PHP环境---基于rsync部署

基于基于Jenkins自动打包并部署Tomcat环境_学习新鲜事物的博客-CSDN博客环境

准备git仓库

[root@git ~]# su - git

上一次登录:五 8月 25 15:09:12 CST 2023从 192.168.50.53pts/2 上

[git@git ~]$ mkdir php.git

[git@git ~]$ cd php.git/

[git@git php.git]$ git --bare init

初始化空的 Git 版本库于 /home/git/php.git/

[git@git php.git]$ exit

登出

上传代码到仓库

[root@git ~]# git clone [email protected]:/home/git/php.git/

正克隆到 'php'...

[email protected]'s password:

warning: 您似乎克隆了一个空版本库。

[root@git ~]# cd php/

[root@git php]# cat << EOF > index.php

>

> phpinfo();

> ?>

> EOF

[root@git php]# git add .

[root@git php]# git commit -m "all"

[master(根提交) a251610] all

 1 file changed, 3 insertions(+)

 create mode 100644 index.php

[root@git php]# git push origin master

[email protected]'s password:

Counting objects: 3, done.

Writing objects: 100% (3/3), 218 bytes | 0 bytes/s, done.

Total 3 (delta 0), reused 0 (delta 0)

To [email protected]:/home/git/php.git/

 * [new branch]      master -> master

部署web主机环境

[root@tomcat ~]#  yum install -y httpd mariadb-server mariadb mariadb-devel php php-mbstring php-mysql php-bcmath php-gd php-xmlrpc php-ldap php-xml libevent libevent-devel net-snmp net-snmp-devel libxml2 libxml2-devel ntpdate

[root@tomcat ~]# yum -y install rsync

[root@tomcat ~]# systemctl start httpd

[root@tomcat ~]# systemctl start mariadb

基于Jenkins自动化部署PHP环境---基于rsync部署_第1张图片

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

[root@jenkins ~]# su -s /bin/bash jenkins
bash-4.2$ ssh-keygen
bash-4.2$ ssh-copy-id [email protected]

[root@jemkins ~]# su -s /bin/bash jenkins

bash-4.2$  ssh-copy-id [email protected]

/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/var/lib/jenkins/.ssh/id_rsa.pub"

The authenticity of host '192.168.50.54 (192.168.50.54)' can't be established.

ECDSA key fingerprint is SHA256:QTpNCUOIFG1aAs7OSxPHKn0MlNEnLbS7SP/V1xdN8Cg.

ECDSA key fingerprint is MD5:f8:df:e8:5f:ae:af:56:a8:e9:0c:76:13:8b:0e:07:4c.

Are you sure you want to continue connecting (yes/no)? yes

/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed

/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys

[email protected]'s password:

Number of key(s) added: 1

Now try logging into the machine, with:   "ssh '[email protected]'"

and check to make sure that only the key(s) you wanted were added.

基于rsync部署

创建一个Freestyle project

基于Jenkins自动化部署PHP环境---基于rsync部署_第2张图片

[email protected]:/home/git/php.git

 基于Jenkins自动化部署PHP环境---基于rsync部署_第3张图片

 基于Jenkins自动化部署PHP环境---基于rsync部署_第4张图片

rsync -avz --delete * [email protected]:/var/www/html/

 基于Jenkins自动化部署PHP环境---基于rsync部署_第5张图片

 基于Jenkins自动化部署PHP环境---基于rsync部署_第6张图片

 基于Jenkins自动化部署PHP环境---基于rsync部署_第7张图片

 

[root@tomcat ~]#  ls /var/www/html/

index.php

[root@tomcat ~]#  cat /var/www/html/index.php

phpinfo();

?>

基于Jenkins自动化部署PHP环境---基于rsync部署_第8张图片

 基于ansible部署

[root@jemkins ~]# yum -y install ansible

[root@jemkins ~]#  vim /etc/ansible/hosts

 [webservers]
192.168.50.54

修改jenkins运行用户

[root@jemkins ~]# vim /usr/lib/systemd/system/jenkins.service

 34 User=root

 35 Group=root

一般在/etc/init.d/jenkins或/usr/lib/systemd/system/jenkins.service。根据不同的Linux发行版可能略有不同,请根据实际情况进行查找。

添加Ansible插件 

基于Jenkins自动化部署PHP环境---基于rsync部署_第9张图片

 创建php-ansible

 基于Jenkins自动化部署PHP环境---基于rsync部署_第10张图片

 做好ssh密钥通联

基于Jenkins自动化部署PHP环境---基于rsync部署_第11张图片

 基于Jenkins自动化部署PHP环境---基于rsync部署_第12张图片

 

 src=${WORKSPACE} dest=/var/www/html rsync_opts=--exclude=.git基于Jenkins自动化部署PHP环境---基于rsync部署_第13张图片

基于Jenkins自动化部署PHP环境---基于rsync部署_第14张图片 

 

 基于Jenkins自动化部署PHP环境---基于rsync部署_第15张图片

 基于Jenkins自动化部署PHP环境---基于rsync部署_第16张图片

 访问http://192.168.50.54/php-ansbile/基于Jenkins自动化部署PHP环境---基于rsync部署_第17张图片

 再见

你可能感兴趣的:(jenkins,自动化,php)