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的字样。

目录
相关文章
|
19天前
|
运维 监控 jenkins
运维自动化实战:利用Jenkins构建高效CI/CD流程
【10月更文挑战第18天】运维自动化实战:利用Jenkins构建高效CI/CD流程
|
19天前
|
Kubernetes 持续交付 Docker
探索DevOps实践:利用Docker与Kubernetes实现微服务架构的自动化部署
【10月更文挑战第18天】探索DevOps实践:利用Docker与Kubernetes实现微服务架构的自动化部署
64 2
|
19天前
|
监控 jenkins 持续交付
Docker和Jenkins有什么不同
【10月更文挑战第18天】Docker和Jenkins有什么不同
|
25天前
|
缓存 监控 数据可视化
利用GitLab CI/CD自动化您的软件开发流程
【10月更文挑战第10天】GitLab CI/CD 是 GitLab 内置的持续集成和持续部署工具,通过编写 .gitlab-ci.yml 文件,可以自动化构建、测试和部署应用程序的过程。本文介绍 GitLab CI/CD 的核心优势、实施步骤及在现代开发中的应用,帮助您提高开发效率和软件质量。
|
26天前
|
Java jenkins 持续交付
Centos7下docker的jenkins下载并配置jdk与maven
通过上述步骤,您将成功在CentOS 7上的Docker容器中部署了Jenkins,并配置好了JDK与Maven,为持续集成和自动化构建打下了坚实基础。
78 1
|
30天前
|
运维 jenkins 持续交付
自动化部署的魅力:如何用Jenkins和Docker简化运维工作
【10月更文挑战第7天】在现代软件开发周期中,快速且高效的部署是至关重要的。本文将引导你理解如何使用Jenkins和Docker实现自动化部署,从而简化运维流程。我们将从基础概念开始,逐步深入到实战操作,让你轻松掌握这一强大的工具组合。通过这篇文章,你将学会如何利用这些工具来提升你的工作效率,并减少人为错误的可能性。
|
1月前
|
jenkins Java 持续交付
Docker搭建jenkins环境
这篇文章详细介绍了如何利用Docker搭建Jenkins环境,包括拉取Jenkins镜像、配置端口映射及初始化设置的步骤。
119 0
Docker搭建jenkins环境
|
1月前
|
jenkins Shell 持续交付
Jenkins持续集成GitLab项目 GitLab提交分支后触发Jenkis任务 持续集成 CI/CD 超级详细 超多图(二)
Jenkins持续集成GitLab项目 GitLab提交分支后触发Jenkis任务 持续集成 CI/CD 超级详细 超多图(二)
65 0
|
19天前
|
运维 监控 jenkins
运维自动化实践:利用Jenkins实现高效CI/CD流程
【10月更文挑战第18天】运维自动化实践:利用Jenkins实现高效CI/CD流程
|
1月前
|
JavaScript 测试技术 持续交付
使用 GitLab CI/CD 管道自动化部署 Web 应用
【10月更文挑战第2天】使用 GitLab CI/CD 管道自动化部署 Web 应用
34 0
下一篇
无影云桌面