首页 > 其他分享 >DevOps系列六(Jenkins实现基础CI操作)

DevOps系列六(Jenkins实现基础CI操作)

时间:2024-07-17 14:32:03浏览次数:9  
标签:CI compose -- jar DevOps mytest 构建 Jenkins docker

一、Jenkins实现基础CI操作

1.1 通过IDEA创建一个Springboot项目

package com.example.mytest.controller; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController; @RestController public class TestController { @GetMapping("/test") public String test(){ return "Hello Jenkins!"; } }

1.2 git上新建一个项目mytest

1.3 IDEA终端执行

git config --global user.name "Administrator"
git config --global user.email "[email protected]"

1.4 通过IDEA的VCS方式将代码扔到git上


选中项目右键Git-->Commit Directory-->选中所有-->提交

commit成功后,还要把它push到我刚刚创建的仓库里
右键--Git-Push-->origin-->git仓库地址-->ok-->Push

代码就都有了

1.5 Jenkins先创建一个任务

1.6 源码配置

1.7 用户名密码配置


然后应用-保存即可。

1.8 构建

会把代码拉取到jenkins的本地

在jenkins的家目录下,有个workspace目录,所有的工程都会放到此目录。
通过jenkins打包一个target
mytest--配置--构建

选择maven版本--选择需要执行的打包命令--应用--保存

再次构建,因为是第一次通过maven构建,需要下载大量的依赖,所以会慢一些。
构建完成后如下图所示

此时,jenkins的workspace会多出一个target目录,里面会有打包好的jar包

通过jenkins将构建好的jar包发送到目标服务器
项目--配置--构建后操作--send--选择服务器--选择要发送的文件--保存--应用

再次构建。

目标服务器已有传输的jar包

通过dockerfile构建自定义镜像,通过docker-compose构建出镜像并运行起来。

1.9 Dockerfile

FROM daocloud.io/library/java:8u40-jdk COPY mytest.jar /usr/local/ WORKDIR /usr/local CMD java -jar mytest.jar docker-compose.yml version: '3.1' services: mytest: build: context: ./ dockerfile: Dockerfile image: mytest:v1.0.0 container_name: mytest ports: - 8081:8080

1.10代码提交到git

1.11 jenkins配置构建后操作


应用-保存-再次构建
需要先把命令在服务器上面手动执行一次
cd /usr/local/test
cd docker/
mv ../target/jar ./
docker-compose down
docker-compose up -d --build
然后写入绝对路径
cd /usr/local/test/docker
mv ../target/
jar ./
docker-compose down
docker-compose up -d --build
再次构建即可。

此时到服务器上面看,发现容器已正常运行

1.12 页面访问

http://192.168.0.103:8081/test

1.13 注意事项

随着代码的提交,每次执行jenkins构建时,会发现,会出现很多none的镜像,可通过以下命令删除
docker image prune -f
可以将此命令放到jenkins的构建后操作步骤中。
cd /usr/local/test/docker
mv ../target/*jar ./
docker-compose down
docker-compose up -d --build
docker image prune -f

标签:CI,compose,--,jar,DevOps,mytest,构建,Jenkins,docker
From: https://www.cnblogs.com/wangjie20200529/p/18307280

相关文章

  • DevOps系列五(Jenkins安装)
    一Jenkins安装1.1官网https://jenkins.io/1.2镜像地址https://hub.docker.com/r/jenkins/jenkins/tags1.3拉取镜像dockerpulljenkins/jenkins:2.319.1-lts1.4创建目录mkdir-p/usr/local/docker/jenkins_docker1.5编写docker-compose.yml文件cd/usr/local/doc......
  • [Linux+git+Gitee+Jenkins]持续集成实验安装配置详细
    首先理解持续集成原理,看懂并理解图1。图1持续集成原理结构图1中,版本控制服务器指远程代码仓库,本实验使用GitEE作为远程代码仓库;Jenkins自动化部署服务器为虚拟机,操作系统为Linux;服务器1…n为应用服务器,可使用自己物理机作为应用服务器。详......
  • 高德解析城市的分析,根据高德的经纬度获取城市cityCode
    高德解析城市的分析,根据高德的经纬度获取城市cityCode高德解析城市的分析,根据高德的经纬度获取城市cityCodehttp://restapi.amap.com/v3/geocode/regeo?output=json&location=110.517039,18.817948&key=替换成自己的高德KEY&extensions=base1.高德返回城市(正常情况)江苏省南......
  • C#中implicit 关键字的使用:隐式转换操作符
    在C#中,implicit 关键字用于定义隐式转换操作符。隐式转换操作符允许自动将一种数据类型转换为另一种类型,而无需显式地调用转换方法或进行类型转换。下面将详细介绍 implicit 关键字的定义和使用。1.隐式转换操作符定义隐式转换操作符可以定义在一个类或结构体中,使得该......
  • [1034] Locating an image within a specific area using pyautogui
    LocatinganimagewithinaspecificareaofthescreenusingPyAutoGUIcanbedoneasfollows:UsingPyAutoGUI’slocateOnScreenFunction:PyAutoGUIprovidesabuilt-infunctioncalledlocateOnScreenthatallowsyoutofindthepositionofanimageonthe......
  • Cisco ACI Simulator 6.0(6c)M - ACI 模拟器
    CiscoACISimulator6.0(6c)M-ACI模拟器ApplicationCentricInfrastructure(ACI)SimulatorSoftware请访问原文链接:https://sysin.org/blog/cisco-acisim-6/,查看最新版。原创作品,转载请保留出处。作者主页:sysin.orgACISimulator介绍思科以应用为中心的基础设施(AC......
  • LVM FS NFS CIFS NAS 等存储概念解析
    存储:    LVM:存储的格式,块存储。    FS:文件系统,在LVM的创建的磁盘的基础上,安装FS,形成了文件存储。    NFS:Unix系统间实现磁盘文件共享的一种方法,支持应用程序在客户端通过网络存取位于服务器磁盘中数据的一种文件系统协议。其实它包括许多种协议,最简单的网络文......
  • SciTech-EECS-PCB设计- PCB设计-原理图设计 - Schematic library(原理图元器件库)的设
    原理图绘制的“环境参数设置”设置原理图绘制的“环境参数”步骤大体有:在ad软件主界面菜单,选择“File->New->Project”,在创建工程的窗口,看见一个名称为PCB_Project1.PrjPCB的新工程。按照前面所介绍的“添加原理图”的方法,添加名称为“Sheet1.SchDoc”的“原理图文件”。......
  • jenkins+allure常见问题汇总
    1.生成allure报告时,报Cannotfindanyallurecommandlineinstallation. 原因:jenkins下载安装allure插件后,没有配置allure路径解决办法:ManageJenkins>Tools>AllureCommandine安装2.执行pytest--alluredir=./allure-result--clean-alluredir时,报error:unrecognizeda......
  • SRAM CIM的后续发展之我见
    SRAMCIM的后续发展之我见目前CIM技术已经应用在诸多存储器上,如主流存储器SRAM,DRAM,Flash,以及新型NVM,如RRAM,PCM,FeRAM,MRAM等。其中SRAMCIM是一个进展较快的方向,主要受益于其工艺上的成熟性,与CMOS先进工艺的高度兼容,并且SRAM的高速度也是SRAMCIM性能上的一个重要优势。工业界对于......