轻松掌握自动化部署:Jenkins, Docker, Gitee与Maven的简单指南

概述

Gitee

创建账号

快速开始:轻松在Gitee.com ( http://www.gitee.com)上创建你的账号和仓库,只需百度一下即可搞定!

配置webHooks

进入需要配置WebHooks的仓库,选择管理Tab页。在左侧菜单找到'WebHooks'选项,一点击就会看到'添加webhooks'的按钮。

然后,只需要填写URL并点击添加即可。(这个URLJenkinswebhook插件提供)

这一切都简单得就像是玩游戏一样!

springboot 工程

使用下面任何一种方法创建一个Spring boot 项目都可以。

1 使用Spring.io 官网创建。

2 使用Idea创建。

添加docker plugin

Pom.xml文件中添加docker plugin 插件。

            <!-- Docker maven plugin start -->
            <plugin>
                <groupId>com.spotify</groupId>
                <artifactId>docker-maven-plugin</artifactId>
                <version>1.2.2</version>
                <configuration>
                    <imageName>dockerspringboot</imageName><!--[a-z 0-9] 不然docker:build会报错-->
                    <dockerDirectory>${project.basedir}/src/main/docker</dockerDirectory>
                    <resources>
                        <resource>
                            <targetPath>/</targetPath>
                            <directory>${project.build.directory}</directory>
                            <include>${project.build.finalName}.jar</include>
                        </resource>
                    </resources>
                </configuration>
            </plugin>
            <!-- Docker maven plugin end -->

添加代码管理 gitee

Dockerfile 文件

1 在项目的src 文件夹下面的main文件夹下创建docker文件夹。

2 在该文件夹下面创建Dockerfile文件。

Dockerfile 文件内容如下:

FROM openjdk:11-jre
VOLUME /tmp
ADD *.jar app.jar
EXPOSE 8082
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]

Ubuntu

Ubuntu的版本使用 Ubuntu 20.04.4 LTS 不要使用22的版本。

如果是腾讯的服务器可以考虑增加root用户远程登录。

sudo passwd root

ftp安装与配置

          

//安装 VSFTPD 二进制包

$ sudo apt-get update

$ sudo apt-get install vsftpd

//使用如下命令启动FTP服务$ sudo systemctl start vsftpd

$ sudo systemctl enable vsftpd

//允许root用户远程登录

vi /etc/ssh/sshd_config

//  修改配置

#PermitRootLogin without-password 改为PermitRootLogin yes

//重启一下SSH,执行一下命令

/etc/init.d/ssh restart

//配置ftp

vi /etc/vsftpd.conf

write_enable=YES

//重启ftp

/etc/init.d/vsftpd restart

docker 安装

1 apt-get remove docker docker-engine docker.io containerd runc

2 apt update

3 apt-get install ca-certificates curl gnupg lsb-release

4 curl -fsSL http://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add –

5 sudo add-apt-repository "deb [arch=amd64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"

6 sudo apt-get install docker-ce docker-ce-cli containerd.io

7 systemctl start docker

8 apt-get -y install apt-transport-https ca-certificates curl software-properties-common

9 service docker restart

jenkins 容器

1 创建一个docker-compose.yml文件。

文件如下

version: '3.9'

services:  

  jenkins:    

    image: jenkins/jenkins:2.387.2-lts-jdk11

    volumes:      

      - /data/jenkins/:/var/jenkins_home      

      - /var/run/docker.sock:/var/run/docker.sock      

      - /usr/bin/docker:/usr/bin/docker      

      - /usr/lib/x86_64-linux-gnu/libltdl.so.7:/usr/lib/x86_64-linux-gnu/libltdl.so.7

    ports:      

      - "8080:8080"      

      - "8081:8081"    

    expose:      

      - "8080"      

      - "50000"    

    privileged: true

    user: root    

    restart: always    

    container_name: jenkins    

    environment:      

      JAVA_OPTS: '-Djava.util.logging.config.file=/var/jenkins_home/log.properties'

      TZ: Asia/Shanghai

2 通过ftp客户端上传到/var/local/Jenkins 目录

3 远程登录ubuntu服务器进入/var/local/Jenkins 目录。

cd /var/local/Jenkins

4 执行下面命令

Docker compose up

5 命令成功执行完成就可以启动服务器

访问 http://ip:8080/login?from=%2F

jenkins 插件安装与基础配置

1 访问 http://ip:8080/login?from=%2F

2 进入到jenkins 中/var/jenkins_home/secrets/initialAdminPassword获取密码

2.1进入jenkins      docker exec -it jenkins  /bin/bash

2.2 输入 cat /var/jenkins_home/secrets/initialAdminPassword 获取密码

3.选择jenkins 安装推荐的插件

  3.1加载插件(大概需要花费3-5分钟左右)

3.2 创建一个管理员的用户

root

4 安装插件

  进入Dashboad 页面,左边选择 Manage Jenkins

右边选择 manage plugins

点击Available plugins

搜索并安装以下插件。

Deploy to container Plugin

Maven Integration plugin

Publish Over SSH

Generic Webhook Trigger Plugin

5 系统配置

              Dashboard -> Manage Jenkins -> Configure
    配置Publish over ssh (一般在最下面)

 

6 Global Tool Configuration

  6.1 JDK 配置
  

6.2 Maven 配置

如果maven 速度不快,可以更换maven的源。

使用下面命令找到maven 的配置文件。

find / -name *settings.xml

并加入阿里云的源。

item 创建与配置

1 将代码上传到码云。

  testhw: 测试jenkins

2 新建一个item,在dashboard 中点击 new item 按钮

3 输入item name 并选择maven 点击ok。

 

4 在Source Code Management 下设置git 配置。

5 Build Triggers 下设置token 并把url copy到gitee。

 

6 在Post steps 下选择Execute shell并填入如下脚本


SERVER_NAME=dockerspringboot  
#容器id  
CID=$(docker ps | grep "$SERVER_NAME" | awk '{print $1}') 
#镜像id  
IID=$(docker images | grep "$SERVER_NAME" | awk '{print $3}')   
# 构建docker镜像         
if [ -n "$IID" ]; then                  
    echo "存在$SERVER_NAME镜像,IID=$IID"                   
    docker stop $SERVER_NAME   # 停止运行中的容器                   
    docker rm $SERVER_NAME     ##删除原来的容器                   
    docker rmi $IID   ## 删除原来的镜像           
else                   
    echo "不存在$SERVER_NAME镜像,开始构建镜像"                                
fi          
    
mvn docker:build 
echo "当前docker 镜像:" 
docker images | grep $SERVER_NAME 
echo "启动容器----->" 
docker run --name dockerspringboot -p 8082:8082 -d $SERVER_NAME 
echo "启动服务成功!"

7 点击build now(或者提交代码到gitee 的master分支下)

然后输入spring boot 发布的网址就可以看到效果。

注:在gitee提交代码到master就可以自动运行7。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Jenkins是一个开源的自动化部署工具,它可以帮助我们实现持续集成和自动化部署。而Docker是一种虚拟化技术,可以将应用程序及其依赖打包成一个可移植的容器,实现快速部署和可靠性。 在使用Jenkins进行自动化部署时,可以搭配使用DockerMaven来创建一个完整的自动部署环境。首先,我们需要在Jenkins服务器上安装Docker,然后使用Docker创建一个虚拟容器,容器中包含了我们的项目代码和相关的环境依赖。 接下来,我们可以使用Maven来管理和构建我们的项目。在Jenkins上配置好Maven构建任务后,每当代码有更新或提交时,Jenkins会自动触发构建任务。在构建任务中,Jenkins会从代码仓库中拉取最新的代码,并使用Maven进行编译、测试、打包等操作。 当构建成功后,Jenkins可以将构建好的应用程序打包成一个Docker镜像,然后将镜像推送到Docker仓库。我们可以使用Docker的相关命令将该镜像部署到服务器上,即可实现自动化部署。在部署过程中,Docker会自动解析容器中的依赖,并创建一个虚拟环境来运行我们的应用程序。 通过使用JenkinsDockerMaven,我们可以实现一个完整的自动化部署环境。这样一来,我们只需要在代码有更新时提交到代码仓库,Jenkins就会自动触发构建任务,并将构建好的应用程序部署到服务器上。这大大提高了部署效率,减少了人工操作的错误和风险,同时也提高了系统的可靠性和稳定性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值