美文网首页
配置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