• 基于jenkins自动打包并部署docker环境及ansible自动化部署


     

     

     

     

     

     

     

     

     

     

     

     

     

     

    jenkins配合ansible做自动化部署环境:

    . 安装ansible


    因为要实现批量部署,所以要使用自动化运维工具Ansible。


    1、Ansible基础安装


    (1)、python2.7安装


    地址:https://www.python.org/ftp/python/2.7.8/Python-2.7.8.tgz


    tar xvzf Python-2.7.8.tgz


    cd Python-2.7.8


    ./configure --prefix=/usr/local


    make --jobs=grep processor/proc/cpuinfo | wc -l


    make install


    将python头文件拷贝到标准目录,以避免编译ansible时,找不到所需的头文件


    cd /usr/local/include/python2.7


    cp -a ./* /usr/local/include/


    备份旧版本的python,并符号链接新版本的python


    cd /usr/bin


    mv python python2.6


    ln -s /usr/local/bin/python


    修改yum脚本,使其指向旧版本的python,已避免其无法运行


    vim /usr/bin/yum


    !/usr/bin/python  -->  #!/usr/bin/python2.6


    (2)、setuptools模块安装


    地址:https://pypi.python.org/packages/source/s/setuptools/setuptools-7.0.tar.gz


    tar xvzf setuptools-7.0.tar.gz


    cd setuptools-7.0


    python setup.py install


    (3)、pycrypto模块安装


    地址:https://pypi.python.org/packages/source/p/pycrypto/pycrypto-2.6.1.tar.gz


    tar xvzf pycrypto-2.6.1.tar.gz


    cd pycrypto-2.6.1


    python setup.py install


    (4)、PyYAML模块安装


    地址:http://pyyaml.org/download/libyaml/yaml-0.1.5.tar.gz


    tar xvzf yaml-0.1.5.tar.gz


    cd yaml-0.1.5


    ./configure --prefix=/usr/local


    make --jobs=grep processor/proc/cpuinfo | wc -l


    make install


    地址:https://pypi.python.org/packages/source/P/PyYAML/PyYAML-3.11.tar.gz


    tar xvzf PyYAML-3.11.tar.gz


    cd PyYAML-3.11


    python setup.py install


    (5)、Jinja2模块安装


    地址:https://pypi.python.org/packages/source/M/MarkupSafe/MarkupSafe-0.9.3.tar.gz


    tar xvzf MarkupSafe-0.9.3.tar.gz


    cd MarkupSafe-0.9.3


    python setup.py install


    地址:https://pypi.python.org/packages/source/J/Jinja2/Jinja2-2.7.3.tar.gz


    tar xvzf Jinja2-2.7.3.tar.gz


    cd Jinja2-2.7.3


    python setup.py install


    (6)、paramiko模块安装


    地址:https://pypi.python.org/packages/source/e/ecdsa/ecdsa-0.11.tar.gz


    tar xvzf ecdsa-0.11.tar.gz


    cd ecdsa-0.11


    python setup.py install


    地址:https://pypi.python.org/packages/source/p/paramiko/paramiko-1.15.1.tar.gz


    tar xvzf paramiko-1.15.1.tar.gz


    cd paramiko-1.15.1


    python setup.py install


    (7)、simplejson模块安装


    地址:https://pypi.python.org/packages/source/s/simplejson/simplejson-3.6.5.tar.gz


    tar xvzf simplejson-3.6.5.tar.gz


    cd simplejson-3.6.5


    python setup.py install


    (8)、ansible安装


    地址:https://github.com/ansible/ansible/archive/v1.7.2.tar.gz


    tar xvzf ansible-1.7.2.tar.gz


    cd ansible-1.7.2


    python setup.py install


    2、Ansible配置


    (9)、SSH免密钥登录设置
     生成公钥/私钥


    ssh-keygen -t rsa -P ''
     写入信任文件(将/root/.ssh/id_rsa_storm1.pub分发到其他服务器,并在所有服务器上执行如下指令):
    cat /root/.ssh/id_rsa_storm1.pub >> /root/.ssh/authorized_keys
    chmod 600 /root/.ssh/authorized_keys


    (10)、拷贝,生成ansible配置文件
    a 配置文件/etc/ansible/ansible.cfg


    mkdir -p /etc/ansible
    cp ansible-1.7.2/examples/ansible.cfg /etc/ansible/
    b 配置文件/etc/ansible/hosts
    vim /etc/ansible/hosts
    [test]
    172.16.13.217


    配置完成之后编写ansible脚本实现自动部署。


    4,编写app.yaml


    脚本内容


    ---
    - hosts: test
      user: root
      tasks:
        - name: 拷贝engaged-party到目标机器
          copy: src=../../../target/engaged-party-0.1.0-SNAPSHOT.jar dest=/tmp/engaged-party-0.1.0-SNAPSHOT.jar owner=root group=root mode=0755
        - name: 关闭engaged-party进程
          shell: ps -ef|grep engaged-party|grep jar|grep -v grep |awk '{print $2}' |xargs kill -9
          ignore_errors: true
        - name: 后台启动engaged-party
          shell: nohup java -jar /tmp/engaged-party*.jar &

    编写完成之后,放在resources目录下面。

     


    修改jenkins的shell命令。

     

  • 相关阅读:
    C语言I博客作业06
    C语言I博客作业07
    C语言I博客作业03
    oracle 创建用户并指定表空间
    Oracle 给用户赋予dblink权限,创建dblink
    IDEA 2020.2 破解、激活
    nginx 里的常用变量
    nginx 跨域问题解决
    elasticsearch (一)
    kubenetes 安装部署
  • 原文地址:https://www.cnblogs.com/CMX_Shmily/p/12011272.html
Copyright © 2020-2023  润新知