CI/CD
1、CI/CD应用场景
- 开发人员将本地代码上传到gitlab版本服务器;
- jenkins通过webhook插件自动到gitlab服务器拉去最新代码;
- 通过docker-maven-plugin插件自动编译代码
- 将自定义镜像上传docker私服仓库
- k8s集群自动拉取最新版本镜像
- 自动化部署整个项目
- 通过nginx负载均衡访问整个项目

2、持续集成CI(Continuous intergration)
持续集成是一种将集成阶段置于开发周期中较早的做法,因此,构建,测试竭诚代码的时间安排更为规则。

3、持续交付(Continuous delivery)

4、持续部署(Continuous deployment)
5、DevOps概述
Development和Operations的组合,可以促进开发人员和其他技术专业人员的协作。是在软件交付和部署过程中镜像通信和协作,目的更快,更可靠的发布质量更好的软件。
6、软件的生命周期
- 需求分析
- 设计
- 实现
- 测试
- 运行及维护
7、制作一个新的开发包
安装idea,新建一个工程


新建一个java class
package com.lagou.Jenkinsdemo.Jenkins; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController; @RestController public class JenkinsTestController { @GetMapping("/") public String login(){ return "hello Jenkins"; } }

启动后在本地测试:

安装好maven
http://c.biancheng.net/maven2/install-configure.html
https://blog.csdn.net/m0_63324772/article/details/129464916

https://blog.csdn.net/m0_63324772/article/details/129464916
打成jar包

在本地运行jar包

本地测试访问

将打好的包上传到agent服务上

也可以在本地打包

C:\Users\Administrator\IdeaProjects\jenkinsdemo>mvn clean package -Dmaven.test.s kip=true

找打打好的jar包

运行jar包

idea中查看docker插件

编辑dockerfile

FROM openjdk:8-alpine3.9
MAINTAINER zzs Docker spiringboot "hello@ll.com"
RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g' /etc/apk/repositories
RUN apk --update add curl bash tzdata && \
rm -rf /var/cache/apk/*
ENV TZ Asia/Shanghai
ARG JAR_FILE
COPY ${JAR_FILE} jenkinsdemo-0.0.1-SNAPSHOT.jar
EXPOSE 8080
ENTRYPOINT ["java","-jar","/jenkinsdemo-0.0.1-SNAPSHOT.jar"]
镜像打包
[root@localhost data]# docker build --rm -t zzs/jenkinsdemo:v1 --build-arg JAR_FILE=jenkinsdemo-0.0.1-SNAPSHOT.jar .

查看镜像
[root@localhost data]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE zzs/jenkinsdemo v1 453b87fd4b62 25 minutes ago 129MB
启动测试镜像
[root@localhost data]# docker run -dit --name=jenkinsdemo -p 8080:8080 zzs/jenkinsdemo:v1
查看日志
[root@localhost data]# docker logs -f jenkinsdemo . ____ _ __ _ _ /\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \ ( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \ \\/ ___)| |_)| | | | | || (_| | ) ) ) ) ' |____| .__|_| |_|_| |_\__, | / / / / =========|_|==============|___/=/_/_/_/ :: Spring Boot :: (v2.7.12) 2023-06-23 11:22:21.397 INFO 1 --- [ main] com.lagou.JenkinsdemoApplication : Starting JenkinsdemoApplication v0.0.1-SNAPSHOT using Java 1.8.0_212 on 4514041f8279 with PID 1 (/jenkinsdemo-0.0.1-SNAPSHOT.jar started by root in /) 2023-06-23 11:22:21.415 INFO 1 --- [ main] com.lagou.JenkinsdemoApplication : No active profile set, falling back to 1 default profile: "default" 2023-06-23 11:22:27.327 INFO 1 --- [ main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port(s): 8080 (http) 2023-06-23 11:22:27.384 INFO 1 --- [ main] o.apache.catalina.core.StandardService : Starting service [Tomcat]
测试

浙公网安备 33010602011771号