gitlab+jenkins+pm2+rsync实现node的自动化部署

本文介绍了如何配置Jenkins、GitLab、Node.js等环境,并详细展示了安装步骤与配置过程,包括端口设置、服务启动及常见工具如PM2、Nginx的使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

环境配置

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"

转载于:https://www.cnblogs.com/bhan/p/9667474.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值