Jenkins+springCloud+GitLab 自动化部署实践

应用背景

部署过程的每一个步骤都自动化,可以带来包括效能在内的显著的好处。你可以手工做这些事情,但是很耗时。二者的生产率差异真的很大。一般目前部署过程涉及到应用、环境和部署流程主要的模型。要实现自动化首先要做的是将需要部署的应用、环境和流程进行建模,所以还是需要一个自动化部署系统来支撑。

环境及版本

  • 服务器CentOS6 两台
  • 最新的jenkins.war包 下载链接

安装jenkins

启动脚本 jenkins.sh

  
#! /bin/sh
# chkconfig: 2345 10 90   
# description: jenkins ....  
# This script will be executed *after* all the other init scripts.    
# You can put your own initialization stuff in here if you don't    
# want to do the full Sys V style init stuff.    
#prefix=/home/lanmps/jenkins  
#nohup $prefix/start_jenkins.sh >> $prefix/jenkins.log 2>&1 &  
# [email protected]  

JENKINSFILENAME=jenkins.war
JENKINS_ROOT=/opt/jenkins
PORT=8888
export JAVA_HOME=/opt/modules/java/jdk1.8.0_131
export JRE_HOME=/opt/modules/java/jdk1.8.0_131/jre
export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/rt.jar:$JRE_HOME/lib

stop(){
    echo "Stoping $JENKINSFILENAME "  
    netstat -nlp | grep :$PORT | awk '{print $7}' | awk -F"/" '{ print $1 }'|while read pid    
    do
       kill -9 $pid
       echo " $pid kill"  
    done
}
start(){
    echo "Starting $JENKINSFILENAME "  
    nohup $JENKINS_ROOT/start_jenkins.sh >> $JENKINS_ROOT/jenkins.log 2>&1 &
}

case "$1" in
start)
  start
  ;;
stop)
  stop
  ;;
restart)
  stop
  start
  ;;
status)
  ps -ef|grep $JENKINSFILENAME
  ;;
*)
  printf 'Usage: %s {start|stop|restart|status}\n' "$prog"
  exit 1
  ;;
esac

start_jenkins.sh

#!/bin/bash  
#[email protected]
JENKINS_ROOT=/opt/jenkins
export JENKINS_HOME=$JENKINS_ROOT/home
export LANG=en_US.UTF-8
export PYTHONIOENCODING=UTF8

java -Dfile.encoding=UTF-8 -Dsun.jnu.encoding=UTF-8 -jar $JENKINS_ROOT/jenkins.war --httpPort=8888

其中JENKINS_ROOT是你自己空间的路径

注意:如果使用service jenkins start命令启动报错:java: command not found,那么java -jar命令就写绝对路径,比如:/usr/java/jdk1.8.0_25/bin/java -jar

将启动脚本设置成服务和开机自启

    ln -s /home/lanmps/jenkins/jenkins.sh /etc/init.d/jenkins  
    chkconfig --add jenkins  
    chkconfig --level 345 jenkins on

启动方式

1、/etc/init.d/jenkins start
2、service jenkins start

启动jenkins

  1. 启动后可进行初始化 ,密码一般在日志文件里
    Jenkins+springCloud+GitLab 自动化部署实践_第1张图片

  2. 插件安装

    这一步可能由于服务器链接不上网络,可配置代理或者手动安装,当然想省事的兄弟推荐自动的。
    Jenkins+springCloud+GitLab 自动化部署实践_第2张图片

  3. 安装完成后,将进入设置用户页面。填写完信息之后点“Save and Next”。
    Jenkins+springCloud+GitLab 自动化部署实践_第3张图片

  4. 点击“Save and Finish”,并完成安装。

Jenkins+springCloud+GitLab 自动化部署实践_第4张图片Jenkins+springCloud+GitLab 自动化部署实践_第5张图片

  1. 使用界面

出装的jenkins 默认插件缺少一部分 无法创建maven项目

下面是插件截图
比较实用的是 git插件 maven插件 中文插件 git参数插件 权限插件

Jenkins+springCloud+GitLab 自动化部署实践_第6张图片
!
在这里插入图片描述Jenkins+springCloud+GitLab 自动化部署实践_第7张图片Jenkins+springCloud+GitLab 自动化部署实践_第8张图片Jenkins+springCloud+GitLab 自动化部署实践_第9张图片Jenkins+springCloud+GitLab 自动化部署实践_第10张图片

jenkins系统配置

Jenkins+springCloud+GitLab 自动化部署实践_第11张图片服务器段安装好maven 、jkd 、 docker等等
Jenkins+springCloud+GitLab 自动化部署实践_第12张图片创建一个maven的项目

Jenkins+springCloud+GitLab 自动化部署实践_第13张图片Jenkins+springCloud+GitLab 自动化部署实践_第14张图片Jenkins+springCloud+GitLab 自动化部署实践_第15张图片
Jenkins+springCloud+GitLab 自动化部署实践_第16张图片Jenkins+springCloud+GitLab 自动化部署实践_第17张图片Jenkins+springCloud+GitLab 自动化部署实践_第18张图片Jenkins+springCloud+GitLab 自动化部署实践_第19张图片Jenkins+springCloud+GitLab 自动化部署实践_第20张图片Jenkins+springCloud+GitLab 自动化部署实践_第21张图片

部分图片来源网络,我懒得截图了,反正都差不多

你可能感兴趣的:(Jenkins+springCloud+GitLab 自动化部署实践)