当前位置: 首页 > news >正文

jenkins pipeline使用

1、jenkins全局配置
1.1、maven配置
在这里插入图片描述
1.2、jdk配置
在这里插入图片描述
1.3、git配置
在这里插入图片描述
2、构建环境配置
2.1、安装时间插件 Date Parameter
在这里插入图片描述
2.2、Git Parameter 插件安装
在这里插入图片描述
3、pipeline如下

pipeline {agent anyenvironment {image_name = "192.168.122.150/ken-test/price-service:${date}"server_name = "ken-price-service"namespace = "hc-ken"}stages {stage('拉取代码') {steps {checkout([$class: 'GitSCM', branches: [[name:"${params.TAG}"]], extensions: [], userRemoteConfigs: [[credentialsId: 'xxxxx', url: 'https://codeup.aliyun.com/63dfsafaew16cdbdgwe2a87dd6/hc-ken/ken-price.git']]])}}stage('编译jar包'){ steps {retry(2) { sh "/opt/maven/bin/mvn  clean package -U -Dmaven.test.skip=true" }}  }stage('构建镜像&推送镜像仓库'){ steps {retry(2) { sh '''SPRING_PROFILES="ken_test"LINUX_TIME_ZONE="Africa/Lagos"JAR_FILE="price-service-1.0.0-SNAPSHOT.jar"cd ./price-servicedocker build  --build-arg SPRING_PROFILES="${SPRING_PROFILES}" --build-arg LINUX_TIME_ZONE="${LINUX_TIME_ZONE}" --build-arg JAR_FILE="${JAR_FILE}"  -t "${image_name}"  .docker login -uadmin -pHarbor12345 192.168.122.150docker push ${image_name} && docker rmi ${image_name}''' }}}stage('部署'){ steps {retry(2) { sh 'kubectl --kubeconfig /opt/kubernetes/config set image -n hc-ken deploy/${server_name} ${server_name}=${image_name}' }//retry(2) { echo 'test' }}  }}}

4、Dockerfile文件如下

[root@jenkins price-service]# cat Dockerfile 
#1基础镜像
FROM harbor.hcloud.com:81/library/jdk-time-as-skywalking:8-jdk-alpine
#2接收外部参数 阿波罗配置、激活的环境、jar、时区
ARG APOLLO_KEY
ARG APOLLO_APP_ID
ARG APOLLO_META
ARG APOLLO_CLUSTER
ARG SPRING_PROFILES
ARG LINUX_TIME_ZONE
ARG JVM_TIME_ZONE
ARG JAR_FILE
#3修改系统时区
RUN rm /etc/localtime
RUN ln -s /usr/share/zoneinfo/${LINUX_TIME_ZONE} /etc/localtime
#4创建目录
RUN mkdir -p /home/juser/app/bin
ADD target/${JAR_FILE}  /home/juser/app/bin/app.jar
#5cpoy启动脚本
ADD jenkins/restart_docker.sh /home/juser/app/bin/restart.sh
RUN chmod +x /home/juser/app/bin/restart.sh
RUN chown -R juser:juser /home/juser
ENV APOLLO_KEY "${APOLLO_KEY}"
ENV APOLLO_APP_ID "${APOLLO_APP_ID}"
ENV APOLLO_META "${APOLLO_META}"
ENV APOLLO_CLUSTER "${APOLLO_CLUSTER}"
ENV SPRING_PROFILES "${SPRING_PROFILES}"
ENV JVM_TIME_ZONE "${JVM_TIME_ZONE}"
#6切换用户
USER juser
WORKDIR /home/juser
#7暴露端口
EXPOSE 9070
#8执行脚本
ENTRYPOINT ["/home/juser/app/bin/restart.sh","start"]
#CMD ["/home/juser/app/bin/restart.sh","http://192.168.122.227:8080 ","175-dev-data","dev"]

5、构建完成如下
在这里插入图片描述

http://www.lryc.cn/news/197301.html

相关文章:

  • MATLAB——神经网络参考代码
  • 小程序搭建OA项目首页布局界面
  • HyperLogLog算法
  • 自定义Docker镜像--Jupyterlab
  • IDEA中明明导入jar包了,依旧报ClassNotFoundException
  • 【VIM TMUX】开发工具 Vim 在 bash 中的显示与 tmux 中的显示不同
  • 全网最全,Postman接口自动化测试实战整理,避开所有弯路...
  • 蓝桥杯双周赛算法心得——三带一(暴力枚举)
  • 【C++】适配器模式 - - stack/queue/deque
  • EKP接口开发Webservice服务和Restservice服务以及定时任务Demo
  • 如何确定IP地址的具体位置?
  • 软考-网络安全体系与网络安全模型
  • Java身份证OCR识别 - 阿里云API【识别准确率超过99%】
  • vue中获取复选框是否被选中的值、如何用JavaScript判断复选框是否被选中
  • Python学习之逻辑中的循环有哪些?
  • 【uniapp微信小程序+springBoot(binarywang)
  • 智能井盖的用处有哪些?好用在什么地方?
  • 微信小程序数据存储方式有哪些
  • FTC局部路径规划代码分析
  • SpringBoot集成Activiti7
  • 25.1 MySQL SELECT语句
  • 【VSCode】Windows环境下,VSCode 搭建 cmake 编译环境(通过配置文件配置)
  • useragent识别访问设备
  • 紫光同创FPGA实现UDP协议栈网络视频传输,带录像和抓拍功能,基于YT8511和RTL8211,提供2套PDS工程源码和技术支持
  • 【机器学习】逻辑回归
  • DITA-OT 4.0新特性 - PDF themes,定制PDF样式的新方法
  • MySQL 8.0 OCP认证精讲视频、环境和题库之四 多实例启动 缓存、事务、脏读
  • 对代码感兴趣 但不擅长数学怎么办——《机器学习图解》来救你
  • 【EI会议征稿】第三届大数据、信息与计算机网络国际学术会议(BDICN 2024)
  • 【Arduino+ESP32+腾讯云+sg90】强制门户+腾讯云控制开关灯