Jenkins + Gitee 持续集成

2020-12-04 00:08:54 977

接上文

/article/537098261463302145

Jenkins安装

JDK安装

  1. 将jdk-8u171-linux-x64.rpm(oracle官网下载)上传至服务器
  2. 执行安装命令
rpm -ivh jdk-8u171-linux‐x64.rpm

RPM方式安装JDK,其根目录为:/usr/java/jdk1.8.0_171t

Jenkins安装与启动

http://mirrors.jenkins-ci.org/redhat/

官网下载

rpm -ivh jenkins-2.269-1.1.noarch.rpm

或者

yum install jenkins

配置jenkins

vi /etc/sysconfig/jenkins

修改用户和端口

JENKINS_USER="root"
JENKINS_PORT="8888"

启动服务

systemctl start jenkins

访问ip:8888

从/var/lib/jenkins/secrets/initialAdminPassword中获取初始密码串

安装插件

选择 Install suggested plugins

新建用户

输入表单

Jenkins配置

选择系统管理, 选择管理插件

安装maven插件

选择“可选插件”选项卡,搜索maven,在列表中选择Maven Integration ,点击“直 接安装”按钮

安装git插件

如上

安装gitee插件

然后

添加Gitee(码云)链接配置(系统管理->系统配置->Gitee配置) 链接名:自己随意定 Gitee 域名 URL:https://gitee.com 证书令牌: 点击添加 类型:Gitee API 令牌 Gitee APIV5 私人令牌:登录码云情况下,在该浏览器上打开https://gitee.com/profile/personal_access_tokens,新增令牌 描述:自己定

全局工具配置

安装Maven与本地仓库

  1. 将Maven压缩包上传至服务器(虚拟机)
  2. 解压
tar zxvf apache-maven‐3.6.0‐bin.tar.gz
  1. 移动目录
mv apache‐maven‐3.6.0 /usr/local/maven
  1. 编辑setting.xml配置文件
vi /usr/local/maven/conf/settings.xml

配置本地仓库目录,内容如下

<localRepository>/usr/local/repository</localRepository>
  1. 将开发环境的本地仓库上传至服务器并移动到/usr/local/repository
mv reponsitory_boot /usr/local/repository

执行此步是为了以后在打包的时候不必重新下载,缩短打包的时间。 6. 编辑setting.xml配置文件 vi /usr/local/maven/conf/settings.xml

<pluginGroups>
    <pluginGroup>com.spotify</pluginGroup>
</pluginGroups>

Jenkins全局配置

选择系统管理,全局工具配置

  • 配置jdk
  • 配置git

如果没有安装,则

yum install git
  • maven配置

持续集成

回到首页,点击新建按钮 .如下图,输入名称,选择创建一个Maven项目,点击OK

源码管理选择git

输入gitee 项目 url

证书选择之前添加的码云令牌

分支 看自己情况选择

web hook 可选

Gitee webhook 触发构建,需要在 Gitee webhook 中填写 URL: xxxxxx

目前码云插件貌似只支持 代码push/pull request事件

允许触发构建的分支

这个也看自己情况

Build 项

pom文件,输入相对路径 如

blog-config/pom.xml

Goals and options 填

clean package docker:build -DpushImage

相当于项目构建后, 推送到docker repository

Post Steps选择 只有当构建成功后

后置步骤再添加一项

执行shell

sh /usr/jenkins-sh/blog-config.sh

执行shell用于构建成功后启动容器等相关操作

建议将shell脚本区分存放



Jenkins构建优化 20min到2min

系统的jenkins构建流程很简单, 但一直很慢. 一次构建平均十几二十分钟git pull (17分钟)mvn clean package (6分钟)scp (4分钟)Git Pull发现之前的配置被勾选了自动清理workspace, 取消后拉代码就正常了, 基本是秒拉Maven Packagem
2024-12-19

Kubernetes Cloud Native 实践 ( 八 ) CICD集成

全文目录Kubernetes Cloud Native 实践 ( 一 ) 安装Kubernetes Cloud Native 实践 ( 二 ) 简单使用Kubernetes Cloud Native 实践 ( 三 ) NFS/PV/PVCKubernetes Cloud Native 实践 ( 四
2023-06-13

Kubernetes Cloud Native 实践 ( 一 ) 安装

全文目录Kubernetes Cloud Native 实践 ( 一 ) 安装Kubernetes Cloud Native 实践 ( 二 ) 简单使用Kubernetes Cloud Native 实践 ( 三 ) NFS/PV/PVCKubernetes Cloud Native 实践 ( 四
2023-06-13
SkyWalking for Java

SkyWalking for Java

Skywalking的性能损耗接近3%一. Docker配置docker pull apache/skywalking-oap-server:9.4.0-java17docker pull apache/skywalking-ui:v9.4.0-java17docker pull elasticse
2023-05-19

Docker Graceful Shutdown

有几个前提操作系统层面: 提供了 kill -9 (SIGKILL)和 kill -15(SIGTERM) 两种停机策略. SIGKILL 信号是一个不能被阻塞、处理或忽略的信号,它会立即终止目标进程. SIGTERM 信号是一个可以被阻塞、处理或忽略的信号,它也可以通知目标进程终止,但是它相对于
2023-05-17

Docker启动容器出现No Such File Or Directory排查

dockerfile如下FROM alpine ADD test-backend /test-backend RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo 'Asia/Shanghai' > /etc/time
2023-03-22

Ubuntu Golang 编译 + Docker部署

配置Golang编译环境下载go环境 https://studygolang.com/dl 选择go1.20.2.linux-amd64.tar.gztar -zxvf go1.20.2.linux-amd64.tar.gz 解压到 /usr/local/go创建 /usr/local/go-pat
2023-03-22

Nginx+Frp+Docker实现HTTPS内网穿透

内网穿透实用性非常强, 例如支付回调/访问内网数据库域名dns需要解析到服务器地址frp下载地址https://github.com/fatedier/frp/releases下载这两个文件frp_0.38.0_linux_amd64.tar.gzfrp_0.38.0_windows_amd64.z
2021-10-29

Docker 安装 MongoDB

docker pull mongo docker run -itd --name mongo -p 27017:27017 mongo --auth -p 27017:27017 :映射容器服务的 27017 端口到宿主机的 27017 端口。外部可以直接通过 宿主机 ip:27017 访问到 mo
2021-01-13

Jenkins + Gitee 持续集成

接上文/article/537098261463302145 Jenkins安装JDK安装将jdk-8u171-linux-x64.rpm(oracle官网下载)上传至服务器执行安装命令rpm -ivh jdk-8u171-linux‐x64.rpm RPM方式安装JDK,其根目录为:/usr/ja
2020-12-04

Maven插件自动构建项目镜像

搭建docker私有仓库docker pull registry 启动容器docker run ‐di --name=registry -p 5000:5000 registry 打开浏览器 输入地址http://localhost:5000/v2/_catalog看到{"repositories"
2020-11-22

Docker 部署 详细全过程 附代码

Docker 部署本站 全过程环境:CentOS7.61. 安装Docker其他版本CentOS可以参考这个https://help.aliyun.com/document_detail/187598.html查看本机内核版本,内核版本需高于 3.10uname -r 确保 yum 包最新yum u
2020-03-28

freemarker 时间显示不正常 设置时区

项目在本地开发的时候显示正常,部署上服务器就一直差8个小时,最后发现freemarker官方文档有这样的说明time_zone:时区的名称来显示并格式化时间。 默认情况下,使用JVM的时区。 也可以是 Java 时区 API 接受的值,或者 "JVM default" (从 FreeMarker 2
2020-03-28
IDEA 2019.1 xml 不高亮

IDEA 2019.1 xml 不高亮

前几天更新了idea后,发现xml里的代码都没有了高亮,变得跟记事本一个德性了打开setting ,搜索 File Types,找到xml项, 查看下方的匹配格式,果然没有xml,(idea真是厉害)点击右方的+,输入*.xml,点击ok,解决问题
2020-03-28

npm install 淘宝镜像

npm install --registry=https://registry.npm.taobao.org
2020-03-28
Java中方法的参数传递机制

Java中方法的参数传递机制

来看一段代码 public class Man { private String name; private Integer age; public String getName() { return name; } publi
2020-03-28
基于自定义注解手写权限控制

基于自定义注解手写权限控制

方法一: AOP 方法二: 拦截器项目结构项目依赖<dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-w
2020-03-28

Docker 部署 详细全过程 附代码

Docker 部署本站 全过程环境:CentOS7.61. 安装Docker其他版本CentOS可以参考这个https://help.aliyun.com/document_detail/187598.html查看本机内核版本,内核版本需高于 3.10uname -r 确保 yum 包最新yum u
2020-03-28

SpringBoot 启动普通java工程

引入依赖<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter</artifactId> <version>2.0.9</version> </dependency>
2020-03-28

Vue.js DOM操作

<template> <input type="button" @click="reply($event)" value="回复"> </template> export default { methods: { replyFun(e) {
2020-03-29
CentOS7编译调试OpenJDK12

CentOS7编译调试OpenJDK12

1. 下载源码https://hg.openjdk.java.net/jdk/jdk12点击左侧的browse,再点击zip,就可以下载zip格式的源码压缩包。unzip xxx.zip 解压文件2. 安装jdkyum install java-11-openjdk-devel -y3. 运行con
2020-04-23
编写自己的Spring Boot Starter

编写自己的Spring Boot Starter

1.新建一个maven项目命名规则统一是xxx-spring-boot-starter完整pom.xml<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0"
2020-06-29