部署环境_Jenkins环境搭建和部署项目的过程

安装部署docker jenkins 环境

创建一个文件夹 用于存放jenkins相关配置

mkdir /Users/mengfanxiao/docker/jenkins

下载docker jenkins镜像

docker pull jenkins/jenkins当前版本:Jenkins 2.243

启动镜像

docker run -d -p 8080:8080 -p 50000:50000 --name jenkins --privileged=true -v /Users/mengfanxiao/docker/jenkins:/var/jenkins_home jenkins/jenkins

访问jenkins

http://localhost:8080/
7a246ca215a3cb783c002ef5d23378aa.png

PS : 如果一直在Please wait while Jenkins is getting ready to work...页面,资源访问过慢加载不出来

解决方法

找到/Users/mengfanxiao/docker/jenkins目录下的hudson.model.UpdateCenter.xml文件,将https://updates.jenkins.io/update-center.json替换为http://mirror.xmission.com/jenkins/updates/update-center.json然后重启启动docker jenkins

登陆账号

096fe2a0058540571042ae9b0b3b4027.png

输入密码

启动命令中有一个文件映射 将docker中的配置文件映射到本地电脑即  -v /Users/mengfanxiao/docker/jenkins:/var/jenkins_home jenkins/jenkins既然 docker jenkins已经启动 那么配置文件也从docker映射到本地一份了
54f486f88cdec62a1d3e27ea1bf2fffd.png
由上面[输入密码]截图可以看要去/var/jenkins_home/secrets/initialAdminPassword文件中找初始密码(发现截图上的目录少了一个jenkins)那么只需要从 本地文件 /Users/mengfanxiao/docker/jenkins/secrets/initialAdminPassword 即可
77dca2f4b284998acaba0212c9e7555e.png

安装插件

c0598cd8b74efd1d81bce0411d643829.png
这里选择安装推荐的插件
2a62544c84051705007e52f6cba3a6a1.png

PS : 这里等待时间太久 如何解决?

解决办法 :

修改更新配置源
  • 找到/Users/mengfanxiao/docker/jenkins/updates/default.json
  • 把 "www.google.com” 改成 "http://www.baidu.com/"
  • 把 "updates.jenkins-ci.org/download" 替换成 "mirrors.tuna.tsinghua.edu.cn/jenkins"
快速更新的办法

使用vim的命令

  • 替换所有插件下载的url
:1,$s/http://updates.jenkins-ci.org/download/https://mirrors.tuna.tsinghua.edu.cn/jenkins/g
  • 替换连接测试url
:1,$s/http://www.google.com/https://www.baidu.com/g

注意:进入vim先输入:然后再粘贴上边的:后边的命令,注意不要写两个冒号!修改完成保存退出:wq

心理PS:速度卡卡的快啊(留下了幸福的眼泪)

创建用户

创建好用户之后 就可以进入到首页了
230bb7b5de877001fc38267c5f74c630.png540b3114e5674d5d61b82faf727f3ffa.png

检查并修复插件

查看失败插件

  • 打开系统管理页面 如果有安装失败的插件 则会显示(失败插件名称及原因)
191b72c8f342018f17201e5b5c773d55.png
  • 查看已安装的插件
http://localhost:8080/pluginManager/installed 报红的则是安装失败的插件
1ef6a6cbc1574545d7e748b2d8271cac.png
  • 功能不全
假如 如果在创建任务的时候没有[构建一个maven项目]选项 则需要安装maven插件

如何安装插件

以上面的功能不全-没有[构建maven项目]为例

  • 点开可选插件 输入maven
http://localhost:8080/pluginManager/available
a31d90f5eb3026f7ffefeebe1f654f17.png
  • 安装后的效果
bd08927fc389c4351cced61076dd72f3.pngaa4dc626243721825a64716f9ecf3070.png

重启使得刚刚安装的插件生效

如果插件有了改变 则已安装插件页面的最下面有一个重启的提示,重启了之后 刚刚已安装的插件就会生效
0a2ebb8311e8fd1035ef690fdd149ac3.png

通过jenkins部署项目

创建一个任务

2d34c586b99e4b11392e6d5c300194b5.png

General配置

9590c52534e474d6e22cac45c897ce45.png

Git配置

35ea8c7716368f61ecfc66497198cef6.png

git信息配置

01b00ece13797a819283f3747fee8a7d.png

访问git的账号配置

指定分支的含义是 获取指定git地址下面的指定分支进行代码部署

build

da4fe8ab71b29f8921e2df7130a75be8.png

这里需要配置下maven

2a9543ca37b52307d9e8528c4f1c4bba.pngedf3155ba12f3a78e4e3cb41b00c8240.png
clean package -U -Dmaven.test.skip=true-U表示强制更新

Post Steps

在这一步之前的操作是 jenkins通过maven将指定的项目编译打jar或war包或其他形式的这一步是 访问指定的服务器 在指定的路径下面 执行指定的脚本 启动jar或war或其他 所以需要先配置下服务器: 系统管理-系统配置-SSH Server并测试下是否可以连接
fbd342687cb91922338fd43202b80fdb.png1c6001c7e43dd47ea673066db27cc83d.png21d37b679da1374bdae6104df1fd5357.png039e38137e8a50955784d9742bf28418.png
  • 源文件 表示当前项目编译打包之后是jar包还是war包
  • 可执行文件
root@iZuf6heduaqlfxz2wj9zc3Z:~# cat /home/jenkins/vote-api/vote-api-test.sh#!/bin/bash # 配置jdk环境export JAVA_HOME=/usr/local/software/jdk1.8.0_141export JAR_HOME=$JAVA_HOME/binexport CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jarexport PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH# 配置项目名称APP_NAME=vote-api.jar#判断进程是否存在 若存在 则killis_exist(){pid=`ps -ef|grep $APP_NAME|grep -v grep|awk '{print $2}' `#如果不存在返回1,存在返回0 if [ -z "${pid}" ]; thenreturn 1elsereturn 0fi}is_existif [ $? -eq "0" ]; thenkill -9 $pidelseecho "${APP_NAME} is not running" fi# 删除上一次编译打包后的文件rm -rf /home/test-vote-api/*.jar# 将jenkins打包编译之后的文件复制到指定位置cp -rf /home/jenkins/vote-api/target/*.jar /home/test-vote-api/${APP_NAME}# 启动项目nohup java -jar  -Dspring.profiles.active=dev  /home/test-vote-api/${APP_NAME} -Xms256m -Xmx512m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=512m  --server.port=8082 >/home/test-vote-api/logs/vote-api.log 2>&1 &echo "程序已启动..."# 进程是否存在is_existif [ $? -eq "0" ]; thenecho "${APP_NAME} is running. pid is ${pid} "elseecho "${APP_NAME} is not running."fiexit

注意点

  • 上述脚本中的文件夹先创建好
mkdir /home/test-vote-api/logs
  • PS:文件访问权限问题
如果jenkins在配置server的时候访问用户不是root用户比如是jenkins用户
d32f0930c77e3ab0c790e1ea4fd0df0a.png
查看文件的访问权限 上面是当前用户可以读写可执行、当前用户所属于用户组可读可写可执行、其他用户可读可写可执行只有这样 jenkins用户才可以访问如果不是这样 则需要 chmod 777 /home/jenkins -R 设置下文件夹访问权限

邮件通知项目部署情况

083a3f186c9213100e765ae280ef2e91.png

构建

eb171e2582bce1a1678acfcfb4ad816c.png

后记

至此,已经说完了jenkins环境搭建过程和如何通过jenkins部署一个项目的过程,我就不演示了构建的过程了 因为我用的公司的服务器,担心内存不够,把公司运行的项目给搞停掉


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部