Linux配置Git
卸载Centos自带的git1.7.1:
通过git –version
查看系统带的版本,Centos应该自带的是git版本是1.7.1
终端输入:yum remove git
安装所需软件包
终端输入:yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel asciidoc
yum install gcc perl-ExtUtils-MakeMaker
功能快捷键
(1)终端输入:`wget https://github.com/git/git/archive/v2.2.1.tar.gz`
或者直接在浏览器器打开输入:`https://mirrors.edge.kernel.org/pub/software/scm/git/`
选择你要下载的版本,下载后上传至Linux服务器相应路径下
(2)解压:tar zxvf v2.2.1.tar.gz
(3)终端输入:
cd git-2.7.0
make prefix=/usr/local/git all
make prefix=/usr/local/git install
(4)配置环境变量
sudo vim /etc/profile
export PATH=$PATH:/usr/local/git/bin
保存并退出
(5)终端输入:source /etc/profile
从jenkins官网下载jenkins包
上传jenkins.war到服务器任意指定目录(下载如下图)
启动jenkins
切换到jenkins.war所在目录,执行以下命令启动jenkins
`nohup java -jar jenkins.war --httpPort=8055 &` (--httpPort=8055是指定端口为 8055,也可以不要这部分,此时端口为默认端口)
访问jenkins
http://ip:8055 ,访问此地址,如果无法访问,有可能公司局域网问题,有可能是电信网 络问题,经验证,目前电信网络下无法访问。
在下图红色所示文件中找到登录密码并登录
点Install suggested plugins
安装插件过程,如果此过程出现“Unable to connect jenkins”,请检查网络环境,也有可 能是被墙了的原因(自己想办法解决墙了的问题)
创建用户(我默认用了admin用户,点击下面Continue as admin)
点击完成
正常跳转到jenkins主页面,如果出现主页面空白或者跳转失败,找到./jenkins/config.xml文件,修改这一对标签的内容为:
这个权限对应“登录用户可以做任何事”,也可以百度查询按需修改(如能正常访问则无需这一步操作),修改后重启tomcat
修改/conf/tomcat-users.xml(应用部署的tomcat容器)
在此文件最后一个标签前添加下面内容:
username和password根据自己的需要修改定义,修改此文件后重启tomcat
安装所需要的插件
系统管理-插件管理
勾选插件,并点击下图按钮安装,
需要安装的插件:
Deploy to container、NodeJs(前端部署用)、Publisher over SSH、Maven Integration、在下图所示位置搜索这些插件勾选并点红色框按钮安装。
全局工具配置
Git安装路径,如果不知道,可以控制台敲 whereis git查看
Node JS配置是前端构建用
点击jenkins首页面 “New任务”按钮,创建任务:
下面是配置信息截图:
以上配置信息填写完毕后点Save按钮保存
构建项目
查看构建日志,出现Success表示成功,如果失败,请根据日志及控制台信息解决问题:
到此jenkins构建成功 我们可以拿到项目构建的最新jar包(/root/.jenkins/workspace/docker-test/target/docke-test.jar),接下来就要考虑怎么把jar包自动化部署到docker容器中。
编写DockerFile文件
在项目操作的路径(/work/project)下创建Dockerfile文件
编辑Dockerfile文件内容为
#基于open jdk:8
FROM open jdk:8
#指定当前操作目录
WORKDIR /work/project
#容器启动后执行的操作
CMD java -jar docker-test.jar
编写jenkins中打包成功后执行的shell脚本
打开jenkins中的配置选择 Pre Steps - Add post-build step - 执行shell
脚本值设置为
#操作/项目路径(Dockerfile存放的路劲)
BASE_PATH=/work/project
# 源jar路径
SOURCE_PATH=/root/.jenkins/workspace
#docker 镜像/容器名字或者jar名字 这里都命名为这个
SERVER_NAME=docker-test
#容器id
CID=$(docker ps | grep "$SERVER_NAME" | awk '{print $1}')
#镜像id
IID=$(docker images | grep "$SERVER_NAME" | awk '{print $3}')
DATE=`date +%Y%m%d%H%M`
# 最新构建代码 移动到项目环境
function transfer(){
echo "最新构建代码 $SOURCE_PATH/$SERVER_NAME/target/$SERVER_NAME.jar 迁移至 $BASE_PATH ...."
cp $SOURCE_PATH/$SERVER_NAME/target/$SERVER_NAME.jar $BASE_PATH
echo "迁移完成"
}
# 备份
function backup(){
if [ -f "$BASE_PATH/$SERVER_NAME.jar" ]; then
echo "$SERVER_NAME.jar 备份..."
cp $BASE_PATH/$SERVER_NAME.jar $BASE_PATH/backup/$SERVER_NAME-$DATE.jar
echo "备份 $SERVER_NAME.jar 完成"
else
echo "$BASE_PATH/$SERVER_NAME.jar不存在,跳过备份"
fi
}
# 构建docker镜像
function build(){
if [ -n "$IID" ]; then
echo "存在$SERVER_NAME镜像,IID=$IID"
else
echo "不存在$SERVER_NAME镜像,开始构建镜像"
cd $BASE_PATH
docker build -t $SERVER_NAME .
fi
}
# 运行docker容器
function run(){
backup
transfer
build
if [ -n "$CID" ]; then
echo "存在$SERVER_NAME容器,CID=$CID,重启docker容器 ..."
docker restart $SERVER_NAME
echo "$SERVER_NAME容器重启完成"
else
echo "不存在$SERVER_NAME容器,docker run创建容器..."
docker run --name $SERVER_NAME -v $BASE_PATH:$BASE_PATH -d -p 3636:3636 $SERVER_NAME
echo "$SERVER_NAME容器创建完成"
fi
}
#入口
run
效果检测
上步操作脚本写好保存后 点击立即构建查看日志如下图代表项目自动化打包构建成功
查看镜像
转载:https://blog.csdn.net/weixin_45559784/article/details/106554801