当前位置:   article > 正文

jenkins-git-docker-arthas_docker arthas jenkins

docker arthas jenkins

1:下载Jenkins.war

网站:https://get.jenkins.io/war-stable/

2:运行war

确保已经安装了jdk8 +

在war所在的目录运行

java -jar jenkins.war &
  • 1
查看程序是否起来  **jps -l**
  • 1

image-20201226233610378

查看端口是否起来,默认8080
  • 1

image-20201226233554774

3:切换源

将源更换成清华大学的源,为后续的插件下载提供便利(墙了)

vim .jenkins/hudson.model.UpdateCenter.xml
  • 1
<?xml version='1.1' encoding='UTF-8'?>
<sites>
  <site>
    <id>default</id>
    <url>https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json</url>
  </site>
</sites>

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

4:安装插件

4.1进入插件栏目

image-20201226234042709

4.2:选择一些必须的插件

插件名称作用
Gitee Plugingit插件,可以选择svn插件
Maven Integration pluginmaven插件,用于编译源文件
Publish Over SSH远程文件上传
Localization: Chinese (Simplified)简体中文插件

安装完成后重启 – 可以使用kill 进程,或者点击页面弹出的按钮restart

image-20201226235004560

5:配置全局环境变量

5.1:maven

查看maven的安装目录

mvn -v
  • 1

image-20201226235619917

image-20201227000116622

image-20201227000137923

5.2:git

whereis git
  • 1

image-20201227000231884

5.3:jdk

/usr/local/jdk/jdk1.8.0_131
  • 1

image-20201227000629399

5.4:保存

6:配置over ssh

image-20201227001427038

7:创建测试项目

7.1:创建一个Jenkinsjob

image-20201227001610282

7.2:创建最简单的springboot项目

7.3:添加凭据

后续在Jenkins拉取远程源代码的时候时候会用到

image-20201227003819375

7.4:配置Jenkinsjob-源码管理

待会要编译的代码从哪里拉取,以及需要的凭据

image-20201227003954198

7.5:添加maven 打包命令

image-20201227004838463

7.6:打包后触发脚本

image-20201227004914264

7.7:上传文件,以及执行脚本

image-20201227032502418

projectName=test-cicd-docker
env=test
vendor=${BUILD_NUMBER}
oldVendor=${BUILD_NUMBER} -1
outPort=8080
targetPort=8080
cd /usr/local/jars

docker stop $(docker ps -a | grep "$projectName"_"$oldVendor" | awk '{print $1}')

docker build -t $projectName:$vendor .

docker run -d --name "$projectName"_"$vendor" -e SPRING_PROFILES_ACTIVE="$env" -p $outPort:$targetPort $projectName:$vendor
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

7.8:注意

exec command中的env指定环境变量,在docker run中取值,同样的-e参数传入docker run 指定的参数

8:Dockerfile

由于网络的原因,如下我自己构建了一个jdk的镜像, jdk1.8.0_131

FROM jdk1.8.0_131
ADD target/test-cicd-docker-0.0.1-SNAPSHOT.jar /home/zhucc/app.jar
WORKDIR ./home/admin
ENTRYPOINT java -jar /home/zhucc/app.jar --spring.profiles.active=$SPRING_PROFILES_ACTIVE

  • 1
  • 2
  • 3
  • 4
  • 5

9:测试

9.1配置文件1,2,3

配置文件1

image-20201227033158358

配置文件2

image-20201227033225933

配置文件3

image-20201227033251259

简单的控制层

@RestController
public class TestController {

    @Value("${env}")
    private String env;

    @RequestMapping("test")
    public String test(){
        return env;
    }

}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

将以上代码提交

9.2:创建环境视图

用于区分不同的环境,对于不同的环境Jenkins可以做到权限控制,请自行研究

9.3:测试test环境

image-20201227033843197

docker ps
  • 1

发现docker已经起来了

image-20201227033942789

正确显示结果

image-20201227035354753

9.4:测试online环境

image-20201227035526717

docker ps
  • 1

image-20201227035600687

正确显示结果

image-20201227035747448

测试到这里就愉快的结束了

10:拓展-当碰上arthas

10.1:加入arthas镜像

image-20201227121943756

打包成功

image-20201227040929823

10.3:在docker中查看

项目已经起来

image-20201227041051718

进入docker容器,并cd 到 /opt/arthas目录下

image-20201227122113952

启动 arthas-boot.jar

image-20201227122215151

敲数字1 attach当前jvm进程,页面是这个样子的

image-20201227122245909

10.4:配合着idea+arthas插件来查看线上jvm运行情况等

插件地址

https://plugins.jetbrains.com/plugin/13581-arthas-idea/versions
  • 1

接下里演示几个简单的命令

-- jvm
  • 1

image-20201227042706062

-- thread
  • 1

image-20201227042726411

这个比较牛逼,可以看到那些线程是阻塞的

thread -b
  • 1

image-20201227042816848

-- dashboard
  • 1

image-20201227042855078

10.5:线上接口参数查看,特别好用

利用插件给出命令

image-20201227122519471

watch com.zcc.testcicddocker.TestController test '{params,returnObj,throwExp}' -v -n 5 -x 3 '1==1'
  • 1

粘贴回车

image-20201227122556137

curl 一个接口:观察结果

image-20201227122727320

10.6:更多的操作请参考

https://blog.csdn.net/weixin_45191798/article/details/103256030

http://arthas.gitee.io/

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/运维做开发/article/detail/880727
推荐阅读
相关标签
  

闽ICP备14008679号