自动化部署三剑客-Gitlab,Ansible,Jenkins

三剑客之Gitlab

  一、Gitlab介绍

      

       

       

 

  二、Gitlab工作流程

       

 

   三、Gitlan安装流程

         (1)关闭防火墙   system disable firewalld

      (2)关闭SELINUX,重启系统  

 

      (3)安装Gitlab  ce

         1.配置镜像源  vim /etc/yum.repos.d/gitlab-ce.repo

 

            清华大学镜像   [gitlab-ce] name=Gitlab CE Repository baseurl=https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el$releasever/ gpgcheck=0 enabled=1

         2.更新本地缓存 yum makecache

         3.安装   yum install gitlab-ce-11.3.11  

       (4)gitlab配置

          vim /etc/gitlab/gitlab.rb

          修改下面这行:external_url   'http://本机IP'

      (5)初始化服务  gitlab-ctl reconfigure

      (6)启动服务    gitlab-ctl start

       (7)访问浏览器,http://192.168.1.203 ,大功告成!   账号:root    密码:19***(保密)

          

  四、Gitlab应用

      

 

       (1)运维人员关注monitoring模块,可以看到硬件信息,日志,健康状况等

          

 

       (2)创建账号

          

 

       (3)为项目分配账号及角色,有普通开发Develop和管理者(领导)Maintainer

          

 

       (4)为账号设置初始密码

          

 

       (5)dev账号提交代码,发出merge申请,指定lead账号审批,lead账号通过merge请求,并可以留下备注。

          

三剑客之Ansible

 

  一、ansible介绍

    

   二、ansible的优势和应用场景

    

 

   三、ansible配合virtualenv安装配置

    (1)virtualenv用来隔离python环境,让该python环境仅供ansible使用,避免系统其它程序使用该python环境,造成潜在的冲突

      

 

     (2)Ansible两种安装模式(CentOS7)

        1.yum包安装(可能造成ansible与系统其它使用到python模块的程序之间的冲突,不推荐)

          yum -y install  ansible

        2.Git源代码安装(配合virtualenv实现python模块隔离,避免冲突的产生,推荐)

          去官网克隆ansible源代码   git clone https://github.com/ansible/ansible.git

     (3)Ansible具体安装流程

        1.关闭防火墙和selinux

        2.下载并安装Python-3.6.5安装包    https://www.python.org/ftp/python/3.6.5/Python-3.6.5.tar.xz

        3.解压,移动到/usr/local并进入目录   tar xf Python-3.6.5.tar.xz    mv Python-3.6.5 /usr/local/          cd Python-3.6.5  

        4.安装基础环境     yum -y install gcc*      yum -y install zlib*     yum install openssl-devel openssl -y

        5.编译 ./configure --prefix=/usr/local --with-ensurepip=install --enable-shared LDFLAGS="-Wl,-rpath /usr/local/lib"  --with-ssl

        6.安装  make  && make altinstall

        7.ln -s /usr/local/bin/pip3.6  /usr/local/bin/pip

        8.pip install virtualenv,注意:这一步pip下载速度非常慢,需要使用国内镜像源 

           mkdir ~/.pip

                cd  ~/.pip 

                vim pip.conf   

            [global]
            index-url = https://pypi.tuna.tsinghua.edu.cn/simple
            [install]
            trusted-host = https://pypi.tuna.tsinghua.edu.cn

           9.创建ansible部署账户    useradd  deploy 

          10.登陆deploy账户  su - deploy  

        11.在deploy用户下创建Python3.6版本的virtualenv实例,用来集成ansible2.5版本

          virtualenv -p /usr/local/bin/python3.6 .py3-a2.5-env

 

        12.下载ansible安装包,上传到服务器

              https://pan.baidu.com/s/1OZDAlIja_FN-8zRutd_-_w   提取码:8t5u

 

        13.加载virtualenv环境   source /home/deploy/.py3-a2.5-env/bin/activate

        14.安装依赖包并临时指定国内镜像源    pip install paramiko PyYAML jinja2  -i https://pypi.tuna.tsinghua.edu.cn/simple

        15.解压缩并安装

          unzip ansible-stable-2.5.zip     

          cd  ansible-stable-2.5

          python setup.py install

        16.验证是否安装成功  ansible  --version

        17.退出virtualenv环境     deactivate

  四、Ansible playbooks入门及编写规范

    运行ansible时各参数的含义:

      ansible-playbook --tags  %s  -i  %s,%s   --extra-vars  %s  -e  %s

        --tags  表示执行某个标签下的任务,通过tag来进行任务过滤

        -i  表示指定iventory主机清单    清单内包含hosts和声明的参数变量 

        逗号后面跟的是主入口文件,比如deploy.yml,而在deploy.yml中通过roles指定了具体要执行的main.yml(为什么会个有逗号呢?奇怪。。。)

        --extra-vars  指定额外的变量

        -e  也是指定额外的参数

    

 

     

 

     

  五、Ansible playbook常用模块     

         

 

 

               

 

                

 

      

 

    使用各个模块组成一个完整的playbook任务脚本文件

           

  六、参考文档

   ansible教程 https://www.cnblogs.com/breezey/category/1197835.html

三剑客之Jenkins

  • Jenkins介绍

    

  • Jenkins的优势和应用场景

            

 

 

  • Jenkins安装配置管理

          

 

 

                    

    踩坑:修改权限,防止启动失败  

       chown -R jenkins:jenkins /var/lib/jenkins

      chown -R jenkins:jenkins /var/cache/jenkins

      chown -R jenkins:jenkins /var/log/jenkins

     参考文章:https://blog.csdn.net/u013302898/article/details/109104549(这一步花了很多时间才找到原因,遇到问题一定要查看日志,发现最后报错是端口被占用,当换成8081之后,才成功启动。。。)

    

 

    账号密码:fengxi/19***

    坑一:下载插件速度慢

      配置国内源加速jenkins插件下载:https://blog.csdn.net/you227/article/details/81076032

    坑二:报错No such plugin: cloudbees-folder

      先直接访问restart页面,修改镜像源,然后再回到插件页面安装    

        https://aflyun.blog.csdn.net/article/details/103338558  

  • Jenkins job介绍

    

 

 

               

  • Jenkins job环境准备

    

      1.可以省略

      2.yum install git curl -y

      3.git config --system http.sslVerify false

      4.没有邮箱可以省略

        

 

         

      5.添加gitlab账号密码

        

 

  • Jenkins freestyle job的构建与配置

    1.创建一个freestyle project

      

 

    2.编辑描述信息

      

 

    3.添加参数配置

      

 

    4.源代码管理

      

 

    5.Build配置

      

    6.开始构建

      

 

     7.查看构建结果

      

 

       

 

  • Jenkins Pipeline job的编码规范与构建配置

     

  • Jenkins Linux Shell集成和Jenkis参数集成

 

  • Jenkins Git和Maven集成

 

  • Jenkins Ansible集成

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

posted @ 2020-12-10 18:46  红嘴鲤鱼  阅读(569)  评论(0编辑  收藏  举报