Jenkins+Docker+GitLab+Springboot自动化部署(二)

简介: Jenkins+Docker+GitLab+Springboot自动化部署(二)

2) SpringBoot 配置

1.pom文件

主要在于docker-maven-plugin插件的配置

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.springboot.server</groupId>
  <artifactId>oyster-server</artifactId>
  <version>1.0-SNAPSHOT</version>
  <name>oyster-server</name>
  <!-- FIXME change it to the project's website -->
  <url>http://www.example.com</url>
  <parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.0.3.RELEASE</version>
  </parent>
  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <maven.compiler.source>1.8</maven.compiler.source>
    <maven.compiler.target>1.8</maven.compiler.target>
  </properties>
  <dependencies>
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-test</artifactId>
      <scope>test</scope>
    </dependency>
  </dependencies>
  <build>
      <plugins>
        <plugin>
          <groupId>org.springframework.boot</groupId>
          <artifactId>spring-boot-maven-plugin</artifactId>
        </plugin>
         <!--Docker maven plugin start-->
        <plugin>
          <groupId>com.spotify</groupId>
          <artifactId>docker-maven-plugin</artifactId>
          <version>0.4.13</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-->
      </plugins>
  </build>
</project>

2.Dockerfile文件

在src》main目录下新建docker文件夹,新增Dockerfile文件

#FROM openjdk:8-jdk-alpine
FROM hub.c.163.com/dwyane/openjdk:8
MAINTAINER red-eric 2505068703@qq.com
VOLUME /tmp
ADD oyster-server-1.0-SNAPSHOT.jar app.jar
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]

3.启动类

@SpringBootApplication
@RestController
public class OysterApplication
{
    public static void main( String[] args )
    {
        SpringApplication.run(OysterApplication.class, args);
    }
    @RequestMapping("/")
    public String index() {
        return "这是我的springboot应用";
    }
}

3) Jenkins配置

1.Jenkins安装

把window下载的Jenkins.war拷贝到阿里云服务器中

打开阿里云控制台

开放Jenkins端口9003

20190122160907143.png

把window下载的Jenkins.war拷贝到阿里云服务器中

打开阿里云控制台

开放Jenkins端口9003

在Jenkins.war所在目录执行

nohup java -jar jenkins.war --httpPort=9003 >/dev/null 2>/dev/null &


还有一种简单的方法就是,下载个tomcat ,然后直接把war包放在tomcat中,然后访问xxx.xx.xx.xx:8080/jenkins就可以了


2. Jenkins初始化

打开网址http://xx.xxx.xx.xx:9003


20190122161015175.png

复制此路径

在shell中执行

cat /root/.jenkins/secrets/initialAdminPassword

查看初始密码,然后登陆,选择建议的插件,然后重新设置用户名密码

3. 全局工具配置

之前我们已经在centos中安装了Git、Maven和Docker ,现在就开始在Jenkins中配置他们。

打开Jenkins控制面板中 系统管理》全局工具配置

20190122161703538.png


20190122161713964.png

20190122161722334.png

4. 插件管理

新增Gitlab插件和Maven Integration插件

Gitlab插件:当gitlab有push时触发jenkins拉取代码和将构建状态发送回GitLab

Maven Integration:用来简化建造Maven工程.


20190122161812374.png

安装完插件后可以重启一下,直接在网址后边拼上/restart 可以重启Jenkins

5. 全局变量设置

配置maven 的全局环境变量 系统设置》系统设置


20190122161900261.png

6. GitLab配置

再Gitlab中获得APIToken


20190122161924819.png

点击生成后获得一个APIToken

然后打开Jenkins

20190122161939429.png

添加GitlabToken

2019012216195337.png

然后点击左下角的测试

会出现success的字样。

目录
打赏
0
0
1
0
81
分享
相关文章
jenkins结合gitlab实现CI(持续集成)
通过本文的介绍,我们详细了解了如何结合Jenkins和GitLab实现持续集成。从环境准备、插件配置到Pipeline任务创建和CI流程监控,每一步都提供了详细的操作步骤和示例代码。希望本文能帮助开发者快速搭建起高效的CI系统,提高项目开发效率和代码质量。
68 8
Ansible与Jenkins:自动化工具的对比
Ansible和Jenkins是自动化领域的两大巨头。Ansible专注于配置管理和任务自动化,采用无代理架构,使用YAML定义配置,具有幂等性和可扩展性。Jenkins则擅长持续集成和持续交付(CI/CD),支持丰富的插件生态系统,适用于自动化构建、测试和部署。两者各有优势,Ansible适合配置管理与大规模部署,Jenkins则在CI/CD方面表现出色。结合使用可创建更强大的自动化工作流,提升团队生产力和软件质量。选择工具时应根据具体需求决定。
Docker在现代软件开发中扮演着重要角色,通过Dockerfile自动化构建Docker镜像,实现高效、可重复的构建过程。
Docker在现代软件开发中扮演着重要角色,通过Dockerfile自动化构建Docker镜像,实现高效、可重复的构建过程。Dockerfile定义了构建镜像所需的所有指令,包括基础镜像选择、软件安装、文件复制等,极大提高了开发和部署的灵活性与一致性。掌握Dockerfile的编写,对于提升软件开发效率和环境管理具有重要意义。
99 9
Jenkins 自动化局域网管控软件构建与部署流程
在企业局域网管理中,Jenkins 作为自动化工具,通过配置源码管理、构建及部署步骤,实现了高效、稳定的软件开发与部署流程,显著提升局域网管控软件的开发与运维效率。
85 5
【Docker最新版教程】一文带你快速入门Docker常见用法,实现容器编排和自动化部署上线项目
Docker快速入门到项目部署,MySQL部署+Nginx部署+docker自定义镜像+docker网络+DockerCompose项目实战一文搞定!
什么是 Docker?如何将 Spring Boot 应用程序部署到 Docker?
什么是 Docker?如何将 Spring Boot 应用程序部署到 Docker?
110 3
运维自动化实战:利用Jenkins构建高效CI/CD流程
【10月更文挑战第18天】运维自动化实战:利用Jenkins构建高效CI/CD流程
探索DevOps实践:利用Docker与Kubernetes实现微服务架构的自动化部署
【10月更文挑战第18天】探索DevOps实践:利用Docker与Kubernetes实现微服务架构的自动化部署
158 2
Docker和Jenkins有什么不同
【10月更文挑战第18天】Docker和Jenkins有什么不同
使用Docker容器化部署Spring Boot应用程序
使用Docker容器化部署Spring Boot应用程序