jenkins docker springcloud 自动化
由于公司要做微服务所以我对jenkins docker springcloud如何集成起来做自动部署做了一些研究,这里写出来也算是结自己一个总结,同时也希望能帮助到其他人。
我这里环境如下:
- Contos7 64
- jdk-8u144-linux-x64.tar.gz
- jenkins.war 2.78
- docker
- gitlab
- maven
- git
- 进入jdk的目录 cd /usr/local 我这里是/usr/local这个目录
- 查看目录下文件 ls -il
- 解压jdk tar zxvf jdk-8u144-linux-x64.tar.gz
- 配置jdk 编辑profile 文件加入jdk 环境变量 vim /etc/profile
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin
- 使用source命令使配置生效 source /etc/profile
- 这时我们来执行 java -version 出现下面这个就说明配置成功了。
- 接下来我们就可以安装jenkins了首选需要下载jenkins 下载地址 http://updates.jenkins-ci.org/download/war/
- 下载后将jenkins.war上传到 /usr/local
- 到jenkins.war 目录下 执行 java -jar jenkins.war 或者是 java -jar httpPort=8080(这里可以指定怎么想指定的端口) jenkins.war jenkins 默认是8080
- 因为liunx 系统没有开放8080端口所以要开放8080端口 firewall-cmd --add-port=8080/tcp --permanent
- 重新加载防火墙配置 firewall-cmd --reload
- 这时在浏览器访问 http://ip:8080 就可以看到
- 这是jenkins为我们自动生成的一个密钥 这个密钥可以在控制台找到 当然也可以去 这个目录下找到/root/.jenkins/secrets/initialAdminPassword这里我们到控制台去找
- 将这个密钥复制到文本框 点击Continue 就可以看到这个页面
- 这里这们选择推荐(install suggested plugins)这时可以看到已经在安装插件
- 安装完成后需要创建一个管理员账户 填写完成后点击 Save and finish
- 当进入下面这个页面后jenkins就算是安装完成了
- docker 的安装我这里是安官网的安装这里就不做请说明。请参考官网 https://docs.docker.com/engine/installation/linux/docker-ce/centos/#install-using-the-repository
- maven 安装 首先要下载一上maven 的安装文件 使用wget下载 wget http://mirror.bit.edu.cn/apache/maven/maven-3/3.5.0/binaries/apache-maven-3.5.0-bin.tar.gz
- 下载完成后解压 maven :tar zxvf apache-maven-3.5.0-bin.tar.gz
- 配置MAVEN_HONE 环境变量
- 编辑 vim /etc/profile 加入下面这两句
export PATH=$PATH:$MAVEN_HOME/bin
- 配置生效 source /etc/profile
- 执行mvn -version 看到如果图说明配置成功
- 配置阿里云的maven repository 进入 maven conf目录下 cd /usr/local/apache-maven-3.5.0/conf
- 编辑settings.xml加入阿里云的maven仓库 vimsettings.xml
<id>nexus-aliyun</id>
<mirrorOf>*</mirrorOf>
<name>Nexus aliyun</name>
<url>http://maven.aliyun.com/nexus/content/groups/public</url>
</mirror>
- 安装git yum install -y git
- 安装完成执行 git --version
- 接下来进入主题来构建我们的第一个项目
1.在jenkins中创建一个新任务
2.构建一个自由风格的软件项目
3.配置项目构建信息
3)配置构建环境
REGISTRY_URL=192.168.189.133:5000
WORK_DIR=/root/work_build
PROJECT_NAME=microservice-provider
PROJECT_VERSION=0.0.1
if [ ! -e ${WORK_DIR}/${PROJECT_NAME} ] && [ ! -d ${WORK_DIR}/${PROJECT_NAME} ]; then
mkdir -p ${WORK_DIR}/${PROJECT_NAME}
echo "Create Dir: ${WORK_DIR}/${PROJECT_NAME}"
fi
if [ -e ${WORK_DIR}/${PROJECT_NAME}/Dockerfile ]; then
rm -rf ${WORK_DIR}/${PROJECT_NAME}/Dockerfile
echo "Remove File: ${WORK_DIR}/${PROJECT_NAME}/Dockerfile"
fi
cp ./Dockerfile ${WORK_DIR}/${PROJECT_NAME}/
cp ./target/*.jar ${WORK_DIR}/${PROJECT_NAME}/
cd ${WORK_DIR}/${PROJECT_NAME}/
docker build -t ${REGISTRY_URL}/microservice/${PROJECT_NAME}:${PROJECT_VERSION} .
docker push ${REGISTRY_URL}/microservice/${PROJECT_NAME}:${PROJECT_VERSION}
if docker ps -a | grep ${PROJECT_NAME}; then
docker rm -f ${PROJECT_NAME}
echo "Remove Docker Container: ${PROJECT_NAME}"
fi
docker run -d -p 8761:8761 --name ${PROJECT_NAME} ${REGISTRY_URL}/microservice/${PROJECT_NAME}:${PROJECT_VERSION}
关注公众号
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
-
上一篇
前端的水平线,错误处理和调试
本章内容 理解浏览器报告的错误 处理错误 调试JavaScript代码 错误处理 错误处理在程序设计中的重要性是一定的。任何有影响力的Web应用程序都需要一套完善的错误处理机制。 try-catch语句 try { // 可能会导致错误的代码 } catch (e) { // 在错误发生时怎么处理 } 错误类型 执行代码期间可能会发生的错误有多种类型。每种错误都有对应的错误类型,而当错误发生时,就会抛出相应类型的错误对象。 ECMA-262定义了下列7种错误类型: Error EvalError RangeError SyntaxError ReferenceError TypeError URIError RangeError类型的错误在数值超出相应范围时触发: try { let items1 = new Array(-20); var items2 = new Array(Number.MAX_VALUE); } catch (e) { console.dir(e) } 在找不到对象的情况下,会发生ReferenceError(这种情况下,会直接导致人所共知的“object ex...
-
下一篇
java代码的优化
做java也很久了,自己也积累了一些代码优化方面的心得,一个好的代码是体现程序员水平的最直观体现,下面来看一下代码方面比较常见的优化点 (本文在书写过程中也参考了一些其他文章,在这里就不一一赘述,内容也比较浅显,忘大神轻喷,如有错误的地方,还请在评论中指出来,我会一一改正) 1.减少对变量的重复计算--》for循环的优化 for (int i = 0; i < args.length; i++) { } 更改为: for (int i = 0,index=args.length; i < index; i++) { } 原理:每次在i++的时候都会重新计算一次args.length,优化之后只会计算一次 当然这个也是相对于args很大时,当args不大时,其实效率也差不多,但是我们养成个好习惯总是好的。而且它可以直接修改for循环的模版实现,比较方便 修改eclipse的模版:Preferences->java->Editor->Templates找到for修改为上面的内容 2.底层使用可变数组的数据结构尽量指定长度 例如最常用的ArrayList,Has...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Crontab安装和使用
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题
- Red5直播服务器,属于Java语言的直播服务器
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- Eclipse初始化配置,告别卡顿、闪退、编译时间过长
- Windows10,CentOS7,CentOS8安装MongoDB4.0.16
- CentOS8安装MyCat,轻松搞定数据库的读写分离、垂直分库、水平分库
- MySQL数据库中FOR UPDATE的使用
- CentOS6,CentOS7官方镜像安装Oracle11G

微信收款码
支付宝收款码