环境配置

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"

gitlab+jenkins+pm2+rsync实现node的自动化部署的更多相关文章

  1. node项目自动化部署--基于Jenkins,Docker,Github(1)安装Jenkins

    前言 每次项目代码更新后都要重新部署,如果只有一台服务器还好. 但是如果是分布式系统,动不动就很多台服务器,所以代码的自动部署就显得十分重要了. 这里用几篇文章来记录一下如何使用Jenkins,Doc ...

  2. jenkins结合ansible用shell实现自动化部署和回滚

    最近用jenkins+gitlab+ansible做持续化集成,自动化部署和版本回滚.然而deploy plugin没能做到增量升级和回滚操作,折腾了很久决定自己写个脚本来简单实现. 环境: cent ...

  3. Asp.net Core 使用Jenkins + Dockor 实现持续集成、自动化部署(三):搭建jenkins集群环境

    写在前面 大家可以看到本文的配图,左边是jenkins单机环境,右边是jenkins集群.个中区别,不言而喻,形象生动. 前面我分别介绍了.net core 程序的多种部署方式(无绝对孰优孰劣): 1 ...

  4. Asp.net Core 使用Jenkins + Dockor 实现持续集成、自动化部署(二):部署

    前面又是废话 我之前写过: Asp.Net Core 程序部署到Linux(centos)生产环境(一):普通部署 Asp.Net Core 程序部署到Linux(centos)生产环境(二):doc ...

  5. PHP 基于 Jenkins ansible 动态选择版本进行自动化部署与回滚(第二版)

    PHP 基于 Jenkins ansible 动态选择版本进行自动化部署与回滚(第二版) 先看流程图: 大概介绍一下: 版本选择使用jenkins 中的 git parameter 插件实现 回滚方式 ...

  6. Asp.net Core 使用Jenkins + Dockor 实现持续集成、自动化部署(一):Jenkins安装

    2019/1/31更新,经过我一段时间的使用 建议大家的jenkins还是不要使用docker方式安装 建议大家的jenkins还是不要使用docker方式安装 建议大家的jenkins还是不要使用d ...

  7. Jmeter(二十八)_Docker+Jmeter+Gitlab+Jenkins+Ant(容器化的接口自动化持续集成平台)

    这套接口自动化持续集成环境已经部署差不多了,现在说说我的设计思路 1:利用Docker容器化Gitlab,Jenkins,Jmeter,Ant,链接如下 Docker_容器化gitlab Docker ...

  8. node项目自动化部署--基于Jenkins,Docker,Github(3)自动化部署

    GitHub仓库 由于现在的代码基本上都是多人合作开发,所以肯定会用到像 git 这样的版本控制工具 所以这里使用 GitHub 来做一个演示 首先我们需要在github上新建一个仓库 点击New来新 ...

  9. node项目自动化部署--基于Jenkins,Docker,Github(2)配置节点

    上一篇文章中准备工作已经完成的差不多了 这一篇主要讲解 Jenkins 上面的相关配置 为了让代码部署到所有的子节点上 所以我们首先需要在 Jenkins 中添加我们希望代码部署到的节点 配置节点 首 ...

随机推荐

  1. Spark源代码分析之中的一个:Job提交执行总流程概述

    Spark是一个基于内存的分布式计算框架.执行在其上的应用程序,依照Action被划分为一个个Job.而Job提交执行的总流程.大致分为两个阶段: 1.Stage划分与提交 (1)Job依照RDD之间 ...

  2. gerrit-申请id跟本地配置

    OpenID 是一个以用户为中心的数字身份识别框架,它具有开放.分散.自由等特性. 什么是gerrit? 看 了网上的介绍,感觉所谓的gerrit就是一个基于web实现代码管理的服务器.Gerrit ...

  3. 程序是怎么跑起来的? —— CPU 是什么?C/C++程序的运行

    1. 概念初步 程序:计算机的程序,和做饭.运动会的程序一样,指的是"做事的先后次序": 程序的组成:程序是指令(及物动词)和数据(宾语)的组合体: C 语言 printf(&qu ...

  4. 关于C++中的内存泄露

    1.c++内存泄漏的定义: 内存泄漏(memory leak)是指由于疏忽或错误造成了程序未能释放掉不再使用的内存的情况.内存泄漏并非指内存在物理上的消失,而是应用程序分配某段内存后,由于设计错误,失 ...

  5. Redis原理(一)

    基础和应用 1.Redis是远程调用技术的首字母缩写. 2.Redis可以用来做什么? Redis可以用来做缓存. 分布式锁 3.Redis的应用举例 记录帖子的点赞数.评论数和点击数.(使用HASH ...

  6. .v 和 .sdf

    DC输出的.v(网表?)和.sdf(储存的是延时的信息) 用于后仿真

  7. HDU 6217 BBP Formula (数学)

    题目链接: HDU 7217 题意: 题目给你可以计算 \(π\) 的公式: \(\pi = \sum_{k=0}^{\infty}[\frac{1}{16^k}(\frac{4}{8k+1})-(\ ...

  8. Altium Designer中画pcb如何隐藏和显示地线

    如何隐藏: 如何显示: 按下N后

  9. 芯片TPS70925

    TPS70925电源芯片 从上图中可以看出EN脚是使能脚,并且是高使能,低失能. tps70925的典型用法: 这个芯片有很多封装,我们用的是第一个:

  10. DIV+CSS学习笔记(CSS)

    css基础知识: css样式表的定义 css:(Cascading Style Sheets)层叠样式表: 分类及位置:内部样式-head区域style标签里面 外部样式-link调用 内联样式-标签 ...