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

    技术2024-12-01  14

    安装部署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/

    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

    登陆账号

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

    安装插件

    这里选择安装推荐的插件

    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:速度卡卡的快啊(留下了幸福的眼泪)

    创建用户

    创建好用户之后 就可以进入到首页了

    检查并修复插件

    查看失败插件

    打开系统管理页面 如果有安装失败的插件 则会显示(失败插件名称及原因)

    查看已安装的插件

    http://localhost:8080/pluginManager/installed 报红的则是安装失败的插件

    功能不全

    假如 如果在创建任务的时候没有[构建一个maven项目]选项 则需要安装maven插件

    如何安装插件

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

    点开可选插件 输入maven

    http://localhost:8080/pluginManager/available

    安装后的效果

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

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

    通过jenkins部署项目

    创建一个任务

    General配置

    Git配置

    git信息配置 访问git的账号配置 指定分支的含义是 获取指定git地址下面的指定分支进行代码部署

    build

    这里需要配置下maven clean package -U -Dmaven.test.skip=true -U表示强制更新

    Post Steps

    在这一步之前的操作是 jenkins通过maven将指定的项目编译打jar或war包或其他形式的 这一步是 访问指定的服务器 在指定的路径下面 执行指定的脚本 启动jar或war或其他 所以需要先配置下服务器:系统管理-系统配置-SSH Server 并测试下是否可以连接

    源文件 表示当前项目编译打包之后是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_141 export JAR_HOME=$JAVA_HOME/bin export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH # 配置项目名称 APP_NAME=vote-api.jar #判断进程是否存在 若存在 则kill is_exist(){ pid=`ps -ef|grep $APP_NAME|grep -v grep|awk '{print $2}' ` #如果不存在返回1,存在返回0 if [ -z "${pid}" ]; then return 1 else return 0 fi } is_exist if [ $? -eq "0" ]; then kill -9 $pid else echo "${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_exist if [ $? -eq "0" ]; then echo "${APP_NAME} is running. pid is ${pid} " else echo "${APP_NAME} is not running." fi exit

    注意点

    上述脚本中的文件夹先创建好

    mkdir /home/test-vote-api/logs

    PS:文件访问权限问题

    如果jenkins在配置server的时候访问用户不是root用户 比如是jenkins用户 查看文件的访问权限 上面是当前用户可以读写可执行、当前用户所属于用户组可读可写可执行、其他用户可读可写可执行 只有这样 jenkins用户才可以访问 如果不是这样 则需要 chmod 777 /home/jenkins -R 设置下文件夹访问权限

    邮件通知项目部署情况

    构建

    后记

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

    Processed: 0.019, SQL: 9