美文网首页
配置jenkins 并将应用构建发布到指定环境

配置jenkins 并将应用构建发布到指定环境

作者: 野生DBNull | 来源:发表于2020-04-03 15:31 被阅读0次

利用jenkins 构建并且发布代码

1. 构建代码

这里以NodeJS 发布 Docker为例子

1.1创建项目

image.png

1.2配置打包参数

配置Git分支参数 (这里还可以配置任何喜欢的参数)


image.png

然后选择打包仓库


image.png

选择打包环境 (我这里是需要用到Node环境去发布代码,所以我选择了Node环境,不需要就不要选)


image.png

1.3开始执行构建脚本构建发布产物

在构建这里搞一个Shell命令输入框


image.png

我在里面执行了我在项目中写好的脚本,也可以把这个脚本直接放在这里去执行
下面是我的build.sh脚本

#! /bin/bash
registry="xxxxx" # 这里就是你要推送的仓库地址
version="latest"
name="web-server"

echo '####################### 开始打包 #######################'
docker build -t $name .
docker tag $name $registry/rdcc/$name:$version

echo '####################### 开始推送到云端仓库 #######################'
# 这里可能需要登录仓库才行,可以加上下面的这句话,登录仓库后再发布
# docker login $registry -u 用户名 -p 密码
docker push $registry/rdcc/$name:$version 

执行完这段脚本后就打出一个docker镜像 然后推送到云端上去。

1.4将构建产物发布到本机或者云端

如果是发布本机 那就再加一个Shell框框,执行启动命令

cd ./server
nohup ./docker/startup.sh &

下面是startup.sh脚本

#! /bin/bash

version="latest"
project="web-server"
registry="xxx.xxx.xxx"
port="8060"

#这里是将配置文件用 挂载卷的形式挂载到容器中间去
#settingpath="/xxx/xxx/settings/app.config.json"
#worksettingpath="/app/app.config.json"
#-v $settingpath:$worksettingpath \

docker stop $project  || true
docker rm -f $project || true
docker rmi  $registry/$project:$version || true
docker pull $registry/$project:$version

docker run --name=$project \
           --restart=always \
           -d \
           -ti \
           -p $port:$port \   
           $registry/$project:$version 

如果是要发布到其他的机器上面去就需要加上 Publish over ssh 的插件
具体的思路就是将这个启动脚本 采用scp命令扔到要发布的机器上面去 然后要求远程机器执行这段发过去的脚本

首先到插件管理中去安装这个插件
然后配置这个插件
应该是配置管理 ==> 系统管理下面 找到这个插件的配置项(Publish over SSH)

image.png

配置好这里后就可以在程序发布界面选择你需要发布的主机了

在构建之后的那一块中找到这玩意并且配置它


image.png

然后点击保存后就可以开始构建了。


image.png

其实所有的插件在jenkins 的官网都可以搜到的,并且有非常详细的解释;

我这里是发布Docker,要想在jenkins 中执行Docker命令的话是需要 添加一个docker组,然后将jenkins 这个用户加入docker组 然后再重启jenkins 主机(当然可以不重启的呀,但是reboot他不快么)。

错误没出意外的话应该长这样

”Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get http://%2Fvar%2Frun%2Fdocker.sock/v1.26/images/json: dial unix /var/run/docker.sock: connect: permission denied“

执行下面的脚本

# 执行这个
sudo gpasswd -a jenkins docker #应该是这样子的 
reboot

# 或者执行这个(不要宝里宝气都执行啊)
#sudo groupadd docker     #添加docker用户组
#sudo gpasswd -a jenkins docker     #将登陆用户加入到docker用户组中
#newgrp docker     #更新用户组
#docker ps    #测试docker命令是否可以使用sudo正常使用
# reboot

#如果上面的都不对 那就百度搜索 gpasswd -a jenkins docker 总能找到你喜欢的东西

正常运行就应该是这样的


image.png

(啥?找不到这个界面吗?左下角有一个闪闪闪的小点点,点它)


image.png

相关文章

网友评论

      本文标题:配置jenkins 并将应用构建发布到指定环境

      本文链接:https://www.haomeiwen.com/subject/sivhphtx.html