Jenkins环境搭建

由于Jenkins是依赖于java的,所以先介绍java环境的搭建

1)使用官方的二进制包解压安装,官方二进制包的下载地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

(2)安装java(解压,移动即可)

项目(八) Jenkins持续集成与构建-LMLPHP

(3)配置java环境变量/etc/profile

项目(八) Jenkins持续集成与构建-LMLPHP

(4)Jenkins的下载和运行

项目(八) Jenkins持续集成与构建-LMLPHP

然后我们在浏览器上进行访问:http://IP:8080 出现如下界面

项目(八) Jenkins持续集成与构建-LMLPHP

Jenkins介绍和初始化配置

  • Jenkins的作用?

    • 可视化管理服务器
    • 持续构建,可以直接去svn或者git上拉取代码并下发到服务器上
    • 可视化ansible
  • Jenkins监听端口8080

    • nohup java -jar jenkins.war &> /tmp/jenkins.out & #启动Jenkins方式
    • netstat -antup | grep java #查看监听端口
    • http://IP:8080 #访问方式
  • Jenkins默认密码路径,需要到Jenkins所在的服务器进行查看

    • /root/.jenkins/secrets/initialAdminPassword

Jenkins初始化配置:

项目(八) Jenkins持续集成与构建-LMLPHP

项目(八) Jenkins持续集成与构建-LMLPHP

项目(八) Jenkins持续集成与构建-LMLPHP

项目(八) Jenkins持续集成与构建-LMLPHP

项目(八) Jenkins持续集成与构建-LMLPHP

项目(八) Jenkins持续集成与构建-LMLPHP

项目(八) Jenkins持续集成与构建-LMLPHP

(2)创建新任务*

项目(八) Jenkins持续集成与构建-LMLPHP

项目(八) Jenkins持续集成与构建-LMLPHP

项目(八) Jenkins持续集成与构建-LMLPHP

项目(八) Jenkins持续集成与构建-LMLPHP

(3)立刻构建任务并执行

项目(八) Jenkins持续集成与构建-LMLPHP

项目(八) Jenkins持续集成与构建-LMLPHP

项目(八) Jenkins持续集成与构建-LMLPHP

项目(八) Jenkins持续集成与构建-LMLPHP

项目(八) Jenkins持续集成与构建-LMLPHP

项目(八) Jenkins持续集成与构建-LMLPHP

 

十六,Jenkins+svn实现持续化集成

 

16.1 设置svn的连接密码,并进行代码的部署测试

项目(八) Jenkins持续集成与构建-LMLPHP

项目(八) Jenkins持续集成与构建-LMLPHP

项目(八) Jenkins持续集成与构建-LMLPHP

项目(八) Jenkins持续集成与构建-LMLPHP

项目(八) Jenkins持续集成与构建-LMLPHP

项目(八) Jenkins持续集成与构建-LMLPHP

项目(八) Jenkins持续集成与构建-LMLPHP

项目(八) Jenkins持续集成与构建-LMLPHP

项目(八) Jenkins持续集成与构建-LMLPHP

项目(八) Jenkins持续集成与构建-LMLPHP

 
  1. [root@webB tmp]# hostname -I
  2. 192.168.200.138
  3. [root@webB tmp]# ls /tmp/test/
  4. mycode
  5. [root@webB tmp]# ls /tmp/test/mycode/
  6. python.py 云计算最终架构示例模板(一).png 云计算最终架构示例模板(二).png 云计算期中架构模版(一).png
 

16.2 模拟真实环境web服务器的代码部署和备份

 
  1. [root@localhost tmp]# mkdir -p /www/{html,backup}
  2. [root@localhost tmp]# tree /www/
  3. /www/
  4. ├── backup #html网页目录的备份放置目录
  5. └── html #网页目录

项目(八) Jenkins持续集成与构建-LMLPHP

项目(八) Jenkins持续集成与构建-LMLPHP

 
  1. #备份web服务器旧网页目录代码,并将部署到服务器上的新代码覆盖到网页目录里
  2. cd /www
  3. /usr/bin/tar zcf html_$(date +%F-%H-%S).tar.gz html
  4. rm -rf html/*
  5. mv html_*.tar.gz backup/
  6. mv /tmp/test/* /www/html/

项目(八) Jenkins持续集成与构建-LMLPHP

 
  1. #检查webA和webB,代码构建情况
  2. [root@webA tmp]# tree /www/
  3. /www/
  4. ├── backup
  5. │   └── html_2018-06-25-12-58.tar.gz #旧网页目录备份
  6. └── html
  7. └── mycode
  8. ├── python.py
  9. ├── \344\272\221\350\256\241\347\256\227\346\234\200\347\273\210\346\236\266\346\236\204\347\244\272\344\276\213\346\250\241\346\235\277\357\274\210\344\270\200\357\274\211.png
  10. ├── \344\272\221\350\256\241\347\256\227\346\234\200\347\273\210\346\236\266\346\236\204\347\244\272\344\276\213\346\250\241\346\235\277\357\274\210\344\272\214\357\274\211.png
  11. └── \344\272\221\350\256\241\347\256\227\346\234\237\344\270\255\346\236\266\346\236\204\346\250\241\347\211\210\357\274\210\344\270\200\357\274\211.png
  12. 3 directories, 5 files
  13. [root@webB tmp]# tree /www/
  14. /www/
  15. ├── backup
  16. │   └── html_2018-06-25-12-58.tar.gz #旧网页目录备份
  17. └── html
  18. └── mycode
  19. ├── python.py
  20. ├── \344\272\221\350\256\241\347\256\227\346\234\200\347\273\210\346\236\266\346\236\204\347\244\272\344\276\213\346\250\241\346\235\277\357\274\210\344\270\200\357\274\211.png
  21. ├── \344\272\221\350\256\241\347\256\227\346\234\200\347\273\210\346\236\266\346\236\204\347\244\272\344\276\213\346\250\241\346\235\277\357\274\210\344\272\214\357\274\211.png
  22. └── \344\272\221\350\256\241\347\256\227\346\234\237\344\270\255\346\236\266\346\236\204\346\250\241\347\211\210\357\274\210\344\270\200\357\274\211.png
  23. 3 directories, 5 files
 

16.3 模拟真实环境,开发进行代码回滚

项目(八) Jenkins持续集成与构建-LMLPHP

(1)右键点击共享目录选择TortoiseSVN--->Show log

项目(八) Jenkins持续集成与构建-LMLPHP

项目(八) Jenkins持续集成与构建-LMLPHP

项目(八) Jenkins持续集成与构建-LMLPHP

项目(八) Jenkins持续集成与构建-LMLPHP

(2)重新进行jenkins项目构建,并检查部署情况

 
  1. [root@webA tmp]# tree /www/
  2. /www/
  3. ├── backup
  4. │ ├── html_2018-06-25-12-58.tar.gz
  5. │ └── html_2018-06-25-13-15.tar.gz
  6. └── html
  7. └── mycode
  8. ├── python.py
  9. └── \346\226\260\345\273\272\346\226\207\346\234\254\346\226\207\346\241\243.txt
  10. 3 directories, 4 files
  11. [root@webB tmp]# tree /www/
  12. /www/
  13. ├── backup
  14. │   ├── html_2018-06-25-12-58.tar.gz
  15. │   └── html_2018-06-25-13-15.tar.gz
  16. └── html
  17. └── mycode
  18. ├── python.py
  19. └── \346\226\260\345\273\272\346\226\207\346\234\254\346\226\207\346\241\243.txt
  20. 3 directories, 4 files

项目(八) Jenkins持续集成与构建-LMLPHP

 

十七,Jenkins实现ansible可视化

(1)安装jenkins ansible插件,启动ansible插件

项目(八) Jenkins持续集成与构建-LMLPHP

项目(八) Jenkins持续集成与构建-LMLPHP

项目(八) Jenkins持续集成与构建-LMLPHP

项目(八) Jenkins持续集成与构建-LMLPHP

项目(八) Jenkins持续集成与构建-LMLPHP

(2)系统管理--->全局工具配置---->配置ansible

项目(八) Jenkins持续集成与构建-LMLPHP

项目(八) Jenkins持续集成与构建-LMLPHP

项目(八) Jenkins持续集成与构建-LMLPHP

项目(八) Jenkins持续集成与构建-LMLPHP

项目(八) Jenkins持续集成与构建-LMLPHP

(3)新建一个项目任务,使用ansible进行构建,跑个shell和copy模块

项目(八) Jenkins持续集成与构建-LMLPHP

项目(八) Jenkins持续集成与构建-LMLPHP

项目(八) Jenkins持续集成与构建-LMLPHP

项目(八) Jenkins持续集成与构建-LMLPHP

(4)新建一个项目任务,使用ansible-playbook进行构建

 
  1. #准备一个playbook的配置文件
  2. [root@ansible scripts]# cat /service/scripts/test.yaml
  3. ---
  4. - hosts: all
  5. tasks:
  6. - name: test jenkins ansible-playbook
  7. shell: echo "welcome to yunjisuan" >> /tmp/yunjisuan.txt

项目(八) Jenkins持续集成与构建-LMLPHP

项目(八) Jenkins持续集成与构建-LMLPHP

项目(八) Jenkins持续集成与构建-LMLPHP

项目(八) Jenkins持续集成与构建-LMLPHP

项目(八) Jenkins持续集成与构建-LMLPHP

项目(八) Jenkins持续集成与构建-LMLPHP

05-11 11:09