zoukankan      html  css  js  c++  java
  • gitlab+jenkins+pm2+rsync实现node的自动化部署

    环境配置

    jenkins

    java环境

    yum install -y java

    安装jenkins

    wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat/jenkins.repo

    rpm --import http://pkg.jenkins-ci.org/redhat/jenkins-ci.org.key

    yum install jenkins

    配置jenkins端口

    vi /etc/sysconfig/jenkins

    启动

    service jenkins start

    管理员密码

    vi /var/lib/jenkins/secrets/initialAdminPassword

     

    gitlab

    yum install curl policycoreutils openssh-server openssh-clients postfix

    service postfix start

    service sshd start

    curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ee/script.rpm.sh | sudo bash

    sudo EXTERNAL_URL=”ip:port” yum -y install gitlab-ee

    sudo mkdir -p /etc/gitlab

    sudo touch /etc/gitlab/gitlab.rb

    sudo chmod 600 /etc/gitlab/gitlab.rb

    sudo gedit /etc/gitlab/gitlab.rb

    配置

    sudo vim /etc/gitlab/gitlab.rb

    启动

    sudo gitlab-ctl reconfigure

    sudo gitlab-ctl status

     

    Node

    cd /usr/local/src

    wget https://nodejs.org/dist/v6.11.1/node-v6.11.1-linux-x64.tar.xz

    tar xvf node-v6.11.1-linux-x64.tar.xz

    ln -s /usr/local/src/node-v6.11.1-linux-x64/bin/node /usr/local/bin/node

    ln -s /usr/local/src/node-v6.11.1-linux-x64/bin/npm /usr/local/bin/npm

     

    Pm2

    npm install pm2 -g

    ln -s /usr/local/src/node-v6.11.1-linux-x64/bin/pm2 /usr/local/bin/pm2

     

    Nginx

    yum install nginx

    nginx -t

    service nginx start

     

    Rsync

    rsync --daemon --config=/app/rsync/rsync.conf

     

    # configuration example:

     uid = root

     gid = root

     use chroot = yes

     max connections = 4

     read only = false

     pid file = /var/run/rsyncd.pid

     exclude = lost+found/

     transfer logging = yes

     timeout = 900

     ignore nonreadable = yes

     dont compress   = *.gz *.tgz *.zip *.z *.Z *.rpm *.deb *.bz2

     auth users=root

     secrets file = /etc/rsync.password

     [ftp]

            path = /data

     

    创建rsync.password jenkins服务器写密码 目标服务器写用户名:密码

    chmod 600 /etc/rsync.password

     

    配置服务器间免密登陆

    ssh-keygen -t rsa

    ssh-copy-id -i ~/.ssh/id_rsa.pub root@master

     

     

    jenkins部署的shell脚本 jenkins需要root权限

    WEB_SERVER_IP=
    PROJECT=ftp/webserver/$JOB_NAME  (rsync需要配置ftp模块)
    rsync -rtav --password-file=/etc/rsync.password --delete-before $WORKSPACE/ root@$WEB_SERVER_IP::$PROJECT --exclude ".git"

  • 相关阅读:
    七十年前往事的回顾:偷窥造酒作坊的裸体男人
    Python画图工具matplotlib的安装
    版本号控制-搭建gitserver
    HDU 4405 概率期望DP
    下载jdk文件后缀是.gz而不是.tar.gz怎么办
    《小亚和小信》小强,你就长点心吧!
    7.11 小结
    动态规划 LCS,LIS
    每秒更新时间 v-text的应用 (解决闪现{}问题)
    vue 引入组件
  • 原文地址:https://www.cnblogs.com/bhan/p/9667474.html
Copyright © 2011-2022 走看看