Jenkins自动化部署

Jenkins+Docker+Git 自动化部署图文教程 前言: 通过几天的学习和自己的理解,整理了下Docker+Jenkins的自动部署教程,如有不足,还请多多指点,谢谢! Docker的优点: Docker 让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,便可以实现虚拟化。Docker改变了虚拟化的方式,使开发者可以直接将自己的成果放入Docker中进行管理。方便快捷已经是 Docker的最大优... 阅读详情

基于Springboot以及Gitee的Jenkins自动化部署

本次教程环境准备:

  • 主要在centOS的Minimal版本下完成,需要下载vmware以及[镜像文件](链接:https://pan.baidu.com/s/13VoGLwBwHQI8EbdaPxfQbg
    提取码:cg8q[)。
  • ssh工具(本文使用finalShell),官网下载地址:http://www.hostbuf.com/t/988.html
  • jdk下载、解压并配置环境变量(本文使用jdk1.8),通过java -version查看版本,官网下载地址:https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html
  • maven下载、解压并配置环境变量(本文使用maven3.8.2),通过mvn -version查看版本,官网下载地址:https://maven.apache.org/download.cgi
  • git下载,yum install -y git

Jenkins安装

​ Jenkins安装可通过yum、rpm、docker等方式进行安装,本文采用rpm安装,官网下载地址:https://pkg.jenkins.io/redhat/ ,也可通过我的百度云下载地址进行下载:链接:https://pan.baidu.com/s/1GfA_rZg32saGGdXlUTjw4w 提取码:cg8q。完成下载后会得到一个jenkins-2.174-1.1.noarch.rpm文件。

  • 创建文件夹放入rpm文件在这里插入图片描述

在这里插入图片描述

  • 文件安装,通过rpm -ivh jenkins-2.174-1.1.roarch.rpm命令安装jenkins。

在这里插入图片描述

  • 安装完成之后通过whereis jenkins查看jenkins安装目录。

在这里插入图片描述

  • jenkins需要配置jdk路径,进入/etc/init.d目录下的jenkins文件去通过vim jenkins添加jdk路径。

在这里插入图片描述

在这里插入图片描述

  • 进入jenkins安装目录通过service jenkins start启动jenkins(也可通过/etc/profile修改环境变量后直接通过命令启动)

由于上一步修改了文件,若未重载修改文件时启动会出现提示,需再执行以下systemctl daemon-reload重新加载文件即可

在这里插入图片描述

  • 当出现以上提示则代表jenkins启动成功了,我们可通过ip:端口直接访问(默认端口为8080,需保证当前端口未被占用),本机访问地址为(192.168.159.138:8080)。

在这里插入图片描述

  • 此时我们需要输入管理员密码,即初始化密码,当前密码存在于/var/lib/jenkins/secrets/initialAdminPassword中,输入即可

在这里插入图片描述

  • 输入之后出现以下界面,不清楚自己需求的情况下直接选择安装推荐的插件,社区推荐的插件也挺丰富的。

在这里插入图片描述

  • 设置管理员用户的用户名和密码

在这里插入图片描述

  • 主界面

在这里插入图片描述

对于插件下载失败问题

一是被墙了,二是网络问题,三是jenkins版本过低。

解决一:系统管理->插件管理->高级->升级站点URL改为:

  • http://mirror.esuni.jp/jenkins/updates/update-center.json

  • https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/current/update-center.json(备用)

解决二:升级jenkins版本

在系统管理找到

在这里插入图片描述

可选择自动升级,如果无此按钮可通过下载war文件后到指定目录中替换原有文件

通过系统管理->系统信息中查到需替换文件的路径

在这里插入图片描述

替换完成之后重启jenkins

  • 当前url访问/restart路由,本机为192.168.159.138:8080/restart

在这里插入图片描述

  • 通过whereis jenkins查询jenkins安装目录后,执行命令service jenkins reload

在这里插入图片描述

解决三:手动上传安装插件(不推荐,因为太多了,一个一个安装太慢,但最有效)

官网地址:https://plugins.jenkins.io,在搜索框查询需要的插件名称选择版本进行下载后,在jenkins中系统管理->管理插件->高级->上传插件,完成上传即可

Jenkins自动化部署配置

  • Jenkins->系统管理->全局工具配置来设置jdk、maven、git的路径,可通过jenkins的Install automatically选择安装版本(本文手动安装了jdk、maven、git,无需通过jenkins自动安装)

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

  • Jenkins->插件管理中下载Maven Integration plugin插件

在这里插入图片描述

  • 虽然jdk、maven、git路径配置完成,但是jenkins默认会读取的是/usr/bin目录下的命令,如果不配置的话就会造成java、mvn命令找不到的问题

我们可以通过软连接和硬连接的方式来使jenkins能读取命令(当前采用的是软连接方式,具体软连接和硬连接的区别自行上网查看)

ln -s /usr/local/apache-maven-1.3.8/bin/mvn /usr/bin/mvn

ln -s /usr/jdk1.8.0_261/bin/java /usr/bin/java

创建一个Springboot项目

  • 定义一个简单的springboot项目,定义一个get请求的api以及存放Pipeline语法文件的位置

在这里插入图片描述

  • 以下是Pipeline的语法结构

在这里插入图片描述

  • credentialsId可通过Jenkins设置-> 凭证管理->更新->ID得到

在这里插入图片描述

在这里插入图片描述

  • Jenkinsfile文件通过shell命令执行指定路径下的文件并传递所给的参数,默认jar会存在/var/lib/jenkins/workspace/jenkins-demo/target下,sshpass命令需要通过yum install sshpass进行安装

在这里插入图片描述

  • 上图的stop和start执行sh文件在linux中定义如图,本项目存于/data/app/sh目录下

在这里插入图片描述

新建Item

  • 采用Pipeline声明式语法构建项目

在这里插入图片描述

  • 这里我们不做任何其他配置

在这里插入图片描述

  • 需要自定义Pipeline脚本,可通过流水线语法去完成脚本编辑

在这里插入图片描述

  • 两种方式在定义Pipleline脚本,一是直接在Jenkins上定义Item的流水线语法,二是通过源代码管理仓库获取流水线,即代码中编写流水线脚本并通过指定路径区访问编写的流水线语法(当前示例采用的是Pipeline script from SCM)

在这里插入图片描述

  • 选择SCM源(当前示例采用的是Git控制)

在这里插入图片描述

  • 填写具体信息后点击保存

在这里插入图片描述

  • 当前即为你新建的Item启动项

在这里插入图片描述

  • 部署启动成功在这里插入图片描述

  • 访问API

在这里插入图片描述

可能出现的问题

  • springboot项目的jdk版本和jenkins设置的jdk版本不一样导致出现发行版本不同的问题而无法启动项目,需要统一jdk版本问题

  • 无法找到mvn、java命令->jenkins默认找的是/usr/bin目录下的命令,需要通过软连接方式链接到/usr/bin目录下

  • 权限问题,可能存在jar移动到其他目录而导致的权限问题,最粗暴的方式是chmod 777,直接给该文件或文件夹设置成最高权限,或者指定文件或文件夹某一个权限。

  • 编译太慢,可能是maven仓库问题,特别是第一次部署项目时需要从仓库中拉依赖,在没有镜像设置的情况下极其慢,我们需要设置以下镜像(如阿里云镜像)

  • Host key verification failed.

    运行Jenkins的用户是程序用户jenkins,但是程序用户jenkins是非正常用户

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-U1t7jJAL-1630597523895)(C:\Users\win10\Desktop\jenkins\Jenkins自动化部署.assets\image-20210828170934437.png)]

    非正常主要体现在登陆shell异常 如下非正常主要体现在登陆shell异常 如下

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1PW54qFq-1630597523896)(C:\Users\win10\Desktop\jenkins\Jenkins自动化部署.assets\image-20210828171035189.png)]

    解决方法

    (1)改变jenkins用户的登陆shell,使用vim /etc/passwd修改文件

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-cDMGHY5a-1630597523897)(C:\Users\win10\Desktop\jenkins\Jenkins自动化部署.assets\image-20210828171237941.png)]

    (2)切换jenkins用户 测试

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-JO0Npti8-1630597523899)(C:\Users\win10\Desktop\jenkins\Jenkins自动化部署.assets\image-20210828171353584.png)]

    (3)重新定义jenkins用户的命令提示符,cd返回根目录通过vim .bash_profile执行指令后再尾部添加export PS1='[\u@\h \W]\$ ',source .bash_profile重载文件。

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-n5olF4gX-1630597523900)(C:\Users\win10\Desktop\jenkins\Jenkins自动化部署.assets\image-20210828171651725.png)]

    (4)再次切换到jenkins用户测试

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-uyZXBMwB-1630597523902)(C:\Users\win10\Desktop\jenkins\Jenkins自动化部署.assets\image-20210828172209719.png)]

    (5)jenkins用户对目标主机做免密登陆,其命令包含su jenkins和ssh-keygen和ssh-copy-id -i ~/.ssh/id_rsa.pub root@你的ip

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-NmgzgOpU-1630597523904)(C:\Users\win10\Desktop\jenkins\Jenkins自动化部署.assets\image-20210828172345849.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hi0lNJmW-1630597523905)(C:\Users\win10\Desktop\jenkins\Jenkins自动化部署.assets\image-20210828172956001.png)]

  • 无法访问问题

    ​ 大部分原因在于防火墙拦截,端口未开放

    ​ 解决方法:

    ​ 1、 关闭防火墙(不推荐),systemctl stop firewalld

    ​ 2、开放指定端口

    ​ (1)linux 防火墙查询开放的端口号 firewall-cmd --query-port=端口号/tcp

    ​ (2)linux 防火墙开放指定端口号 firewall-cmd --add-port=端口号/tcp --permanent

关于本项目中的Jenkins文件以及sh文件讲解

Jenkins:

文件定义其实就是Pipeline的语法

什么是Pipeline?

 	Jenkins Pipeline是一组插件,支持在Jenkins上实现和集成持续交付的管道。Pipeline这个单词是水管的意思。我以后可能会翻译成管道或者流水线,我建议大家不要翻译,就写Pipeline。这里持续集成(CI)和持续交付(CD),我们在DevOps基础扫盲篇介绍过,以后多经常用到这两个单词缩写。

	Jenkins为了更好支持CI和CD,通过Groovy语言这么DSL(动态描述语言)来开发Pipeline组件。在Jenkins中有一句话,Pipeline as code,Pipeline是Jenkins中最优雅的存在。之前Jenkins上UI操作动作,都可以在Pipeline中代码实现,主要你对Jenkins和Groovy语言有足够多掌握。

	以后我们经常说CI Pipeline和CD Pipeline,你现在大致可以理解为,要实现CD,先要实现CI。CD Pipeline就是一个代码文件,里面把你项目业务场景都通过Groovy代码和Pipeline语法实现,一个一个业务串联起来,全部实现自动化,从代码仓库到生产环境完成部署的自动化流水线。这个过程就是一个典型的CD Pipeline
	
	官网建议我们把Pipeline代码放在一个名称为Jenkinsfile的文本文件中,并且把这个文件放在你项目代码的根目录,采用版本管理工具管理。Jenkinsfile我后面会具体例子来介绍。当然,我们也可以把Pipeline代码用一个Hello.groovy这样的文件去保存在代码库,这也是没问题的。

Pipeline关键字解释

pipeline
	这个单词是小写,可以看作是Pipeline语法中的一个关键字。以后一个groovy文件或者一个Jenkinsfile文件中不光只有Pipeline代码,例如还有其他的工具类方法等。通过pipeline { Pipeline代码},这个关键字就是告诉Jenkins接下来{}中的代码就是pipeline代码,和普通的函数或者方法隔离出来。

node
	关键字node就是用来区分,Jenkins环境中不同的节点环境。例如一个Jenkins环境包括master节点,也就是主节点,还包括N多个从节点,这些从节点在添加到主节点的向导页面中有一个参数,好像是label,就是给这个从节点取一个名称。在Pipeline代码中可以通过node这个关键字告诉Jenkins去用哪一台节点机器去执行代码。

stage
	关键字stage,就是一段代码块,一般个stage包含一个业务场景的自动化,例如build是一个stage, test是第二个stage,deploy是第三个stage。通过stage隔离,让Pipeline代码读写非常直观。到后面你还会学习stages这个关键字,一个stages包含多个stage。

step
	关键字step就是一个简单步骤,一般就是几行代码或者调用外部一个模块类的具体功能。这里step是写在stage的大括号里的。

本项目Jenkins文件讲解

pipeline {		//一
    agent any	//二
    options {	//三
        timeout(time: 2, unit: 'HOURS')		//运行超时时间为两小时
    }
    stages  {	//四
        stage('Package') {	//五		该时期名称定义为Package
            steps {		//六
                sh 'mvn clean install -Dmaven.test.skip=true'	//shell命令执行maven的clean和install操作,中间跳过test
            }
        }
        stage('Deliver for dev') {	//该时期名称定义为Deliver for dev
            steps {
            	//具体steps内部引用参照https://www.jenkins.io/doc/pipeline/steps/
                withCredentials([usernamePassword(credentialsId: 'cheyinbo', passwordVariable: 'password', usernameVariable: 'username')]) {
                	//shell命令执行文件deploy.sh文件并根据顺序传入参数
                     sh "bash scripts/deploy/deploy.sh 192.168.159.138 root root jenkins-demo"
                }
            }
        }
    }
}

一:整个大的代码块,表明该文件是一个Pipeline语法文件,内部语法必须遵从pipeline语法

二:agent部分指定整个Pipeline或特定阶段将在Jenkins环境中执行的位置,具体取决于该agent 部分的放置位置。该部分必须在pipeline块内的顶层定义。

anynonelabelnodedocker
在任何可用的agent 上执行Pipeline或stage当在pipeline块的顶层使用none时,将不会为整个Pipeline运行分配全局agent ,每个stage部分将需要包含其自己的agent部分agent { node { label ‘labelName’ } },等同于 agent { label ‘labelName’ },但node允许其他选项(如customWorkspace)。使用提供的label标签,在Jenkins环境中可用的代理上执行Pipeline或stage。例如:agent { label ‘my-defined-label’ }定义此参数时,执行Pipeline或stage时会动态供应一个docker节点去接受Docker-based的Pipelines。 docker还可以接受一个args,直接传递给docker run调用。例如:agent { docker ‘maven:3-alpine’ }或docker
agent {
docker {
image 'maven:3-alpine’
label 'my-defined-label’
args ‘-v /tmp:/tmp’
}
}

三:options指令允许在Pipeline本身内配置Pipeline专用选项。Pipeline本身提供了许多选项,例如buildDiscarder,但它们也可能由插件提供,例如 timestamps。

可用选项

buildDiscarderpipeline保持构建的最大个数。例如:options { buildDiscarder(logRotator(numToKeepStr: ‘1’)) }

disableConcurrentBuilds

不允许并行执行Pipeline,可用于防止同时访问共享资源等。例如:options { disableConcurrentBuilds() }

skipDefaultCheckout

默认跳过来自源代码控制的代码。例如:options { skipDefaultCheckout() }

skipStagesAfterUnstable

一旦构建状态进入了“Unstable”状态,就跳过此stage。例如:options { skipStagesAfterUnstable() }

timeout

设置Pipeline运行的超时时间。例如:options { timeout(time: 1, unit: ‘HOURS’) }

retry

失败后,重试整个Pipeline的次数。例如:options { retry(3) }

timestamps

预定义由Pipeline生成的所有控制台输出时间。例如:options { timestamps() }

四—五:Stages 是 Pipeline 中最主要的组成部分,Jenkins 将会按照 Stages 中描述的顺序从上往下的执行。Stages 中可以包括任意多个 Stage,而 Stage 与 Stages 又能互相嵌套,除此以外还有 parallel 指令可以让内部的 Stage 并行运行。实际上可以把 Stage 当作最小单元,Stages 指定的是顺序运行,而 parallel 指定的是并行运行。

六:steps 是 Pipeline 中最核心的部分,每个 Stage 都需要指定 Steps。Steps 内部可以执行一系列的操作,任意操作执行出错都会返回错误。

jenkins-demo.sh文件讲解

APP_NAME=jenkins-demo
USER_DIR=/data/app/java	
APP_JAR=${APP_NAME}.jar
JAR_FILE=$USER_DIR/${APP_NAME}.jar
PID_FILE=$USER_DIR/${APP_NAME}.pid

        #--logging.config=$USER_DIR/logback.xml \

//开始进程的语法
start() {
	//1>/dev/null:表示标准输出重定向到空设备文件,也就是不输出任何信息到终端,不显示任何信息。
	//2>&1:表示标准错误输出重定向等同于标准输出,因为之前标准输出已经重定向到了空设备文件,所以标准错误输出也重定向到空设备文件。
    nohup java -Xmx512M  -jar $JAR_FILE > /dev/null 2>&1 & 	//后台运行jar包
    
    //$!表示获取做个一个生成进程的pid, 本语句译为将当前执行进程的pid存入到指定目录下的指定文件名称.pid文件里并输出当前生成的进程pid
    echo $! > $USER_DIR/$APP_NAME.pid & 
    
    //输出当前jar的路径
    echo $JAR_FILE 
    
    //休眠1秒
    sleep 1	
    
    //输出当前应用执行完毕的标识
    echo "Start $APP_NAME done."
    
    //结束
    exit 0
}

//结束进程方法
stop() {
	//获取生成pid文件中的pid
    PID=`cat ${PID_FILE}`
    //结束指定pid的进程
    kill $PID
    
    //循环
    for i in {1..30}
    do
    	//查询当前pid进程是否还存在
        process=`ps aux | grep ${PID} | grep -v grep`
        if [[ $process ]]; then
        	//输出等待指定应用的进程结束的标识
            echo "Wait process ${APP_NAME} exit..."
            //休眠1秒
            sleep 1
        else
        	//输出指定应用的进程已结束的标识
            echo "Process ${APP_NAME} exited."
            //删除之前保存的pid文件
            rm -rf $PID_FILE
            //结束
            exit 0
        fi
    done
    
    echo 'Force kill'
    
    //若进程依旧未被结束,在执行一次结束进程的命令
    kill -KILL $PID
    //删除之前生成的pid文件
    rm -rf $PID_FILE
}

case $1 in
start)
	start
;;
stop)
	stop
;;
esac
    	//输出指定应用的进程已结束的标识
        echo "Process ${APP_NAME} exited."
        //删除之前保存的pid文件
        rm -rf $PID_FILE
        //结束
        exit 0
    fi
done

echo 'Force kill'

//若进程依旧未被结束,在执行一次结束进程的命令
kill -KILL $PID
//删除之前生成的pid文件
rm -rf $PID_FILE

}

case $1 in
start)
start
;;
stop)
stop
;;
esac



rancher搭建k8s及jenkins自动化部署 注:服务器名需要配置不同,相同服务器名不能加入node节点。 阅读详情

相关推荐

告别第三方插件:官方Fused Library如何重塑Android库的合并与发布流程

本文详细介绍了Android官方推出的Fused Library如何替代第三方fat-aar插件,优化Android库的合并与发布流程。通过原生支持、智能依赖管理等优势,Fused Library解决了版本兼容性、依赖传递等核心痛点,提供了更稳定高效的开发体验。文章还提供了迁移实操指南和工程实践建议,帮助开发者顺利过渡到官方方案。

weixin_42561040的博客 255

Jenkins构建发布Java项目

文章目录准备工作 准备工作 克隆私有仓库到本地: [root@linux01 ~]# git clone git@github.com:AsnFy/test_java.git [root@linux01 ~]# ls test_java/ README.md 下载zrlog的源码作测试: [root@linux01 ~]# wget https://codeload.github.com/94f...

FUYY'S BLOG 4329

SWIPT技术(无线通信携能技术)的简介与架构——(后续补充无人机SWIPT方向)

SWIPT一、SWIPT(无线通信携能)技术简介1.1、组成:1.2、与传统无线通信的区别:1.3、SWIPT 的集成接收器架构设计1、单独的接收器2、TS架构——时间开关(Time switching,TS)3、PS架构——功率分流(Power splitting,PS)4、天线开关接收器主要两种架构的区别参考文献SWIPT的发展 一、SWIPT(无线通信携能)技术简介 SWIPT(Simultaneous Wireless Information and Power Transfer )是各种WPT技术

Blue 1万+

Jenkins部署java项目

简单说明 服务器环境:maven, JDK, jenkins使用maven的插件, 部署war包的插件 maven用于将java源码编译成war包 客户机环境:tomcat, JDK 其他git,java项目源码 源码准备 模拟真实的情况需要有一个私有git保存着代码 jenkins使用私有库时需要用密码或密钥 这里使用gitee私有库 需要部署的机器安装tomcat和设置好tomcat管...

tanyyinyu的博客 357

matlab特征提取和分类_SAST Weekly|MATLAB机器学习初探——做个心音分类器

SAST weekly 是由电子工程系学生科协推出的科技系列推送,内容涵盖信息领域技术科普、研究前沿热点介绍、科技新闻跟进探索等多个方面,帮助同学们增长姿势,开拓眼界,每周更新,欢迎关注!欢迎愿意分享知识的同学投稿至 eesast@mail.tsinghua.edu.cn , 期待你的作品!本期的SAST weekly,想跟大家分享一下如何用MATLAB进行初步的机器学习,构建一个正常/...

weixin_36453829的博客 5579

实测避坑:用SGM61720做BUCK电路,SW引脚电压尖峰怎么压下去?

本文针对SGM61720在BUCK电路中SW引脚电压尖峰问题,提供实测避坑指南。通过分析电压尖峰、过冲等核心问题,详细讲解自举电阻调整、RC缓冲电路计算和PCB走线优化三大解决方案,帮助工程师有效降低SW引脚电压尖峰,提升系统稳定性和EMI性能。

weixin_42634811的博客 213

Linux中Jenkins的自动部署

一、安装 1、添加yum repos,然后安装 wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat/jenkins.repo rpm --import https://pkg.jenkins.io/redhat/jenkins.io.key 注:如果上面两行执行成功、就不用执行下面的命令了 wget -O /et...

胡汉三 1629

AI算力瓶颈与系统优化实战指南

AI算力瓶颈已成为制约人工智能发展的关键因素,特别是在处理transformer类模型时,传统的冯·诺依曼架构面临严重的'内存墙'问题。通过硬件加速、系统优化和算法改进的三级策略,可以有效提升资源利用率。在嵌入式AI领域,结合量化、剪枝和专用指令集扩展等技术,能在资源受限设备上实现高效推理。这些优化方法在自动驾驶、工业视觉等场景中已展现出显著价值,推动AI应用从云端向边缘迁移。随着AI算力需求的持续增长,掌握系统优化技能将成为开发者的核心竞争力。

weixin_32597009的博客 340

Jenkins搭建

Windows电脑选择:构建-->Execute Windows batch command-->输入命令"npm install" 和 "npm run build"增加构建步骤-->选择“调用顶层Maven目标”-->输入“clean package -Pdev -Dmaven.test.skip=true”路径-->系统管理-->全局工具配置-->配置JDK:自动安装取消。别名:jdk1.8。路径-->系统管理-->插件管理-->可选插件-->输入“Publish over SSH”搜索。

home 760

模拟IC设计避坑:手把手教你用Cadence仿真恒定跨导轨到轨运放(附完整工艺库文件)

本文详细解析了使用Cadence仿真恒定跨导轨到轨运放的全流程,涵盖电路原理、工艺库配置、尺寸设计及仿真分析。通过1:3电流镜补偿技术实现跨导稳定,提供CSMC 0.25um工艺下的实战案例,帮助工程师规避设计陷阱,提升模拟IC设计效率。

weixin_30952535的博客 495

超详细流式细胞术全流程解析:从样本制备到结果分析全攻略

流式细胞术(Flow Cytometry)是现代生物学和医学研究中不可或缺的高通量分析技术,可实现对细胞表型、功能状态、细胞周期等多维度参数的快速检测。本文将从实验全流程出发,详解样本制备、上机操作、参数设置及结果处理的核心要点,帮助科研人员精准掌握流式实验关键技术。

good_rrrrr的博客 3868

搭建jenkins实现自动化部署

来源:https://www.cnblogs.com/rslai/p/8135460.html 一、安装jenkins 1、添加yum repos,然后安装 1 2 sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat/jenkins.repo sudo ...

rentian1的博客 1641

Centos 7 Linux 安装 JDK 8:下载、安装、配置环境变量、验证

本文详细介绍了在 CentOS 7 系统上手动安装 JDK 8 的完整流程,包括环境准备、JDK 安装包下载与上传、解压安装、配置全局环境变量,以及最终的验证步骤。适用于使用 VMware 虚拟机、云服务器或物理机的 CentOS 7 用户,操作清晰、步骤完整,帮助开发者快速搭建 Java 开发环境。

寒水馨 · 轻量级技术文档 · hanshuixin.org 2582

linux之Jenkins自动化项目部署

CI/CD CI (continuous integration-CI) -- 持续集成 代码合并,构建,部署,测试都在一起,不断的执行的过程,并对结构反馈。 CD(continuous Deloyments)-- 持续交付 把代码部署到测试环境,预生产环境。 CD(continous Delivery)-- 持续部署 将最终的产品发布到生产环境,给用户使用。 实现持续集成/持续发布的产品 开发(git) -->git远程仓

buzhi______的博客 4138

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

【Jenkins】2024 最新 Jenkins 自动化部署全流程

我们后面会访问centos中的某些文件夹,默认Jenkins使用的用户是。编辑一下文件/etc/yum.repos.d/jenkins.repo。然后我们通过 80 端口就可以访问了(记得配置实列端口安全组)80 是 Nginx 的;8080 是 Jenkins。打开浏览器,输入:http://你的ip:8080/把前端打包后的文件上传到上面你创建的文件夹就行。插件完成后,就可以创建第一个管理员用户了。购买云服务器其实是购买一个实例。然后下面选择安装推荐插件就可以。

日常问题bug解决、学习分享、个人杂谈等等随便写写哈哈哈 8906

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

jenkins自动化部署(一)

Jenkins 是一个基于 Java 开发的开源持续集成与持续交付(CI/CD)工具。它允许开发者将代码的变更自动集成、构建、测试,并最终部署到目标环境中,大大减少了人工干预,提高了部署的准确性和效率。Jenkins 拥有丰富的插件生态系统,通过安装不同的插件,可以扩展其功能以适应各种不同的项目需求。无论是小型的个人项目还是大型的企业级应用开发,Jenkins 都能发挥重要作用。

ssssss_233的博客 2099

jenkins自动化部署

Jenkins:是一个开源的、提供友好操作界面的持续集成(CI)工具,主要用于持续、自动的构建的一些定时执行的任务。Jenkins用Java语言编写,可在Tomcat等流行的容器中运行,也可独立运行。

Mr. Zhang Xiaojian's Blog 2419

Jenkins+gitlab实现自动化部署

Jenkins 是一个用 Java 编写的开源自动化工具,带有用于持续集成的插件。用于持续构建和测试您的软件项目,从而使开发人员更容易将更改集成到项目中,并使用户更容易获得新的构建。它还允许您通过与大量测试和部署技术集成来持续交付软件。Jenkins 集成了各种开发生命周期过程,包括构建、文档、测试、打包、模拟、部署、静态分析等等。Jenkins 借助插件实现了持续集成。插件允许集成各种 DevOps 阶段。如果要集成特定工具,则需要安装该工具的插件。例如 Git、Maven、Node 项目等。

空城的博客 5082

【Jenkins自动化部署】Ubuntu部署Jenkins服务端

Jenkins 系列会从 Ubuntu的服务端部署、Linux节点的Python服务自动化构建、Windows节点Python服务自动化构建、Vue服务自动化构建、监控服务自动化构建、用户权限控制 几个方面进行介绍 Jenkins 是什么? Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能。 Jenkins是一个功能强大的应用程序,允许持续集成和持续交付项目,无论用的是什么平台。 这是一个免费的源代码.

3208

Jenkins自动化部署详细教程

1.背景 在实际开发中,我们经常要一边开发一边测试,当然这里说的测试并不是程序员对自己代码的单元测试,而是同组程序员将代码提交后,由测试人员测试; 或者前后端分离后,经常会修改接口,然后重新部署; 这些情况都会涉及到频繁的打包部署; 手动打包常规步骤: 1.提交代码 2.问一下同组小伙伴有没有要提交的代码 3.拉取代码并打包(war包,或者jar包) 4.上传到Linux服务器 5.查看当前程序是否在运行 6.关闭当前程序 7.启动新的jar包 8.观察日志看是否启动成功 9.如果有同事说,自己还有代码没.

晒黑的老黑的博客 9740

搭建Jenkins实现自动化部署环境

大家好,我是阿飞云怕什么真理无穷,进一步有近一步的欢喜​本文是团队内小兄弟的学习笔记整理而来。看完本文大体了解为什么要使用Jenkins,部署Jenkins依赖的环境,以及如何用Jenki...

阿飞云漫步 1万+

Jenkins自动化部署最全面教程

Jenkins自动化部署最全面教程 Jenkins是什么? Jenkins是一个开源的、提供友好操作界面的持续集成(CI)工具,起源于Hudson(Hudson是商用的),主要用于持续、自动的构建/测试软件项目、监控外部任务的运行。Jenkins用Java语言编写,可在Tomcat等流行的servlet容器中运行,也可独立运行。通常与版本管理工具(SCM)、构建工具结合使用。常用的版本控制工具有S...

qq_37892223的博客 4900

使用jenkins进行自动化部署

Jenkins是一个开源的持续集成(CI)和持续交付(CD)工具,主要用于自动化软件开发的各个阶段,包括构建、测试、部署等。Jenkins基于Java开发,支持与多种版本控制系统(如Git、SVN)、构建工具(如Maven、Ant、Gradle)和软件配置管理工具的集成。它提供了一个友好的操作界面,允许开发者通过Web界面进行配置和管理,支持自动化构建和测试过程,能够监控外部任务的运行。Jenkins也支持持续集成和持续交付的理念,有助于提高软件开发的效率和减少人工错误。

qq_43807473的博客 3990
上一篇: mybatis批量新增返回主键问题
人生苦短,及时编码
博客等级 码龄5年 3粉丝 13原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值