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

应用背景

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

环境及版本

遇到的问题记录

  1. 启动的服务一直出现异常不中断最后超时的情况
    解决方案:nohup java -jar demo.jar > /dev/null 2>&1 &其中> /dev/null 2>&1 &顺序一定不要搞反了
  2. 升级组件及版本前一定要将jenkinsHome备份,防止升级导致的项目不可用。
  3. 万一出现升级后项目不可以,可看jenkins提示的回滚或纠错信息手动现在插件安装

安装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 &  
# changjiabo@juneyaoair.com  

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  
#changjiabo@juneyaoair.com
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. 启动后可进行初始化 ,密码一般在日志文件里
    在这里插入图片描述

  2. 插件安装

    这一步可能由于服务器链接不上网络,可配置代理或者手动安装,当然想省事的兄弟推荐自动的。
    在这里插入图片描述

  3. 安装完成后,将进入设置用户页面。填写完信息之后点“Save and Next”。
    在这里插入图片描述

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

在这里插入图片描述在这里插入图片描述

  1. 使用界面

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

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

在这里插入图片描述
!
在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述

jenkins系统配置

在这里插入图片描述服务器段安装好maven 、jkd 、 docker等等
在这里插入图片描述创建一个maven的项目

在这里插入图片描述在这里插入图片描述在这里插入图片描述
在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述

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

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值