jenkins微服务

news2024/10/2 12:16:45

如果vim进去某个文件里,可以按键盘的向下键查阅其它部分

记得每天备份虚拟机的项目

一.在linux安装jenkins

1.上传文件

我们采用安装包的方式安装。

先用SShclient在/usr/local/下创建jenkins文件夹,然后向其中导入两个包

2.安装jenkins 

再在控制台进入cd /usr/local/jenkins这个路径,并使用指令来安装jenkins

cd /usr/local/jenkins

安装指令 

rpm -ivh  jenkins-2.263-1.1.noarch.rpm

3.修改启动用户

再执行指令vim /etc/sysconfig/jenkins去把启动用户改为root

vim /etc/sysconfig/jenkins

,然后按键盘的ESC键, :wq保存退出

systemctl start Jenkins//启动jenkins

systemctl status Jenkins//查看jenkins的状态

systemctl start jenkins
systemctl status jenkins

运行时候遇到报错是正常的,大部分原因是没有加入java环境的问题。

执行vim /etc/rc.d/init.d/Jenkins

vim /etc/rc.d/init.d/Jenkins

来添加你的java环境,这里是你linux的java环境地址,我的是(/usr/local/jdk/jdk1.8.0_231/java)

然后按键盘的ESC键, (:wq)保存退出

再次启动jenkins    systemctl start jenkins,然后会报错,再执行它说的systemctl daemon-reload就行,然后启动和查看jenkins的状态

systemctl start jenkins


systemctl daemon-reload

4.跳转到jenkins网站

在linux操作台完成上面的操作后,就可以去自己的浏览器上方的地址栏输入http://虚拟机ip:8080/

直接写自己的ip:8080也行

跳转成功后会来到一个页面,密码是在linux执行cat 画圈部分得到得到,复制下面的到输入框中然后继续。

 cat /var/lib/jenkins/secrets/initialAdminPassword

跳转到第二个界面,直接点击右上角的X跳过就行了

因为你跳过了自定义,所以默认用户是admin,然后点击开始使用。

5.修改jenkins密码

进来先右上角的admin,再点左边的红圈,往下滑来到用户名和密码

把小黑点都删了然后自己重新起个密码,再点击左下角的save

Save后来到登录界面,用户是admin,密码是你刚才自己创立的

6.重新登录

二.插件查看和安装

1.查看已安装的插件(如果初次使用一般是没有插件的)

 2.在linux里安装插件

我们再回到linux控制台上

cd /usr/local/Jenkins

解压文件(你在最开头拉进来的文件之一)

tar -zxvf jenkins-plugins.tar.gz

然后拷贝文件到/var/lib/jenkins/plugins/

cp -a plugins/* /var/lib/jenkins/plugins/

重新启动jenkins

/etc/init.d/jenkins restart

然后刷新jenkins页面重新登陆。

3.在linux安装git

再回到linux控制台 在/usr/local/下创建git文件夹

进入git路径下在执行解压操作

cd /usr/local/git

再进行解压 

tar -zxvf git-2.33.0.tar.gz

安装所需要的依赖包

yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel gcc perl-ExtUtils-MakeMaker

输入y

complete说明解压成功

进入解压后的目录,执行make命令(make prefix=/usr/local/git all)。注意后面的git的名字不一样,这里的加载有点长。

make prefix=/usr/local/git all

执行完后在执行一次make prefix=/usr/local/git install

打开配置文件

vim /etc/profile

把放入其中

#set git

export PATH=$PATH:/usr/local/git/bin

如果发生下面这种情况按键盘上的E正常操作就行。

配置完后再加载一次配置文件。

source /etc/profile

检查一下你的git 

git –version

4.在Jenkins添加git配置

Username和password是你gitee的名称和密码(Gitee - 基于 Git 的代码托管和研发协作平台)

5.写git流水线

点击NEW Item

第一步是自己取得名字,取完点2,最后3

蓝圈是自己的描述,红圈是代码编写的地方,我们主要去这里。

蓝圈是流水线的代码,我们先去红圈自动生成我们的git码

选择sample step 选择 git:Git

Repository    URL是你一个仓库的地址

Branch是你建立的一个分支名,这里默认虽然是master,但是也要看你设置的分支。

Credentials是你在开头添加git配置的那个。

这些信息填好后就点左下角的

先把框里的复制了。

6.如何在gitee相应信息

下面是如何在你的gitee页面获得上面的这些信息

Gitee中点击来获得你的Repository   URL,点击2分支获得你的分支名,比如我的分支名就有master和develop两个

三.maven配置

1.上传文件apache-maven-3.3.9-bin.tar.gz

2.解压

先进入到对应的文件路径下

 cd /usr/local/maven

然后解压

tar -zxvf apache-maven-3.3.9-bin.tar.gz

 

查看是否解压成功

3.配置环境变量

vim /etc/profile

#set maven
MAVEN_HOME=/usr/local/maven/apache-maven-3.3.9
PATH=${MAVEN_HOME}/bin:${PATH}
export PATH

4.加载环境变量

source /etc/profile

 5.测试maven安装是否成功

mvn -v

 

6.配置linux的maven的settings.xml文件 

先在linux自己创建以下文件

#打开setting文件,修改中央仓库为阿里的,不然速度太慢
vim /usr/local/maven/apache-maven-3.3.9/conf/settings.xml

# 找到<mirrors></mirrors>标签对,添加以下内容
<mirror>
   <id>alimaven</id>
    <name>aliyun maven</name>
    <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
    <mirrorOf>central</mirrorOf>
   <releases>
      <enabled>true</enabled>
        <updatePolicy>always</updatePolicy>
    </releases>
    <snapshots>
      <enabled>true</enabled>
        <updatePolicy>always</updatePolicy>
    </snapshots>
</mirror>

# 指定下载源位置
<localRepository>/usr/local/maven/apache-maven-3.3.9/repository</localRepository>

 四.在Jenkins配置maven

重写登录jenkins网页

一直往下滑

这里本来没有的

 

 

五.写maven流水线

1.

代码在这不好看,所以我粘记事本讲解去了。

下面代码中有的路径是2,(比如说'/var/lib/jenkins/workspace/2'中的2),是我的项目的名字。

 

checkout=0
node {
    stage('pull code'){
  git branch: 'develop', credentialsId: '06451a1d-12c4-4ab9-8ebf-bfda87bf8e9f', url: 'https://gitee.com/yaoyu-fish/demo1.git'
}
 stage('check docker container'){
       script{
          checkout=sh(
                script: 'docker ps | grep d2',
                returnStatus: true
          )
      }	
    }
   stage('compile'){
        dir('/var/lib/jenkins/workspace/2'){
           sh '/usr/local/maven/apache-maven-3.3.9/bin/mvn clean install '
        }
    }
    stage('remove docker container'){
        if(checkout==0){
            sh 'docker stop d3'
            sh 'docker rm d3'
            sh 'docker rmi jenkinsdemo1'
        }
    }
     stage('make docker container'){
        dir('/var/lib/jenkins/workspace/2/target'){
            sh "echo FROM openjdk:8 > Dockerfile"
            sh "echo ADD nginx20240819-1.0-SNAPSHOT.jar /app.jar >> Dockerfile"
            sh "echo RUN bash -c '\"'touch /app.jar'\"' >> Dockerfile"
            sh "echo ENTRYPOINT ['\"'java'\"','\"'-jar'\"','\"'/app.jar'\"'] >> Dockerfile"
            sh "echo  RUN /bin/cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime >> Dockerfile"
            sh "docker build -t demo01 ."
        }
    }
    stage('start'){
        sh 'docker run --name d3 -p 8888:8888 -d demo01'
    }
}

 

 

 

其它操作 

你可以直接点右边的小三角,或者直接点日期进入。第二个是控制台,你可以在这看报错,也可以在上面图片中的流水进程中的log来查看错误或者是进度。

查看你已经建立的流水线项目 

 

蓝球表示运行成功,红球失败,灰球执行被中断。

 

今天的学习就到这,希望能帮到大家。

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2184392.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

「STL::queue」标准库适配器:priority_queue(优先队列)介绍|自定义比较运算(C++)

目录 概述 创建销毁 内部理解 构造析构 自定义比较 赋值重构 数据访问 内存管理 数据控制 Tips 概述 priority_queue 是一种C标准模板库STL中定义的一种序列容器&#xff0c;它允许你在运行时动态地进行堆操作。 priority_queue 可以自动管理内存&#xff0c;这意味…

使用阿里云试用资源快速部署web应用-dofaker为例

本文介绍使用阿里云的试用资源部署dofaker的方法&#xff0c;本教程主要作学习在阿里云部署web应用之用&#xff0c;部署好应用之后&#xff0c;可以在任何地点通过公网ip访问web应用。 一、创建云主机 登录阿里云账户之后&#xff0c;点击控制台&#xff1a; 点击云服务器EC…

基于SSM的大学生心理素质测评及咨询平台系统设计与实现(源码+定制+讲解)

博主介绍&#xff1a; ✌我是阿龙&#xff0c;一名专注于Java技术领域的程序员&#xff0c;全网拥有10W粉丝。作为CSDN特邀作者、博客专家、新星计划导师&#xff0c;我在计算机毕业设计开发方面积累了丰富的经验。同时&#xff0c;我也是掘金、华为云、阿里云、InfoQ等平台…

vscode中配置python虚拟环境

python虚拟环境作用 Python虚拟环境允许你为每个独立的项目创建一个隔离的环境&#xff0c;这样每个项目都可以拥有自己的一套Python安装包和依赖&#xff0c;不会互相影响。实际使用中&#xff0c;可以在vscode或pycharm中使用虚拟环境。 1.创建虚拟环境的方法&#xff1a; …

天呐!关于PyCharm你竟然一无所知?

PyCharm 是一种专为 Python 开发而设计的集成开发环境&#xff08;IDE&#xff09;&#xff0c;由 JetBrains 开发。 以下是 PyCharm 的一些主要特点和常见的使用方法&#xff1a; 特点&#xff1a; 智能代码编辑&#xff1a;具有智能代码补全、语法检查、代码重构等功能&…

HISTCITE分析进阶

不可否认histcite是一个很好的文献分析的工具,他能很好的找到最重要的那几篇文章,同时也能找到研究的发文趋势、研究机构和著名的研究学者等。但是它是一个很老的软件,因而很多东西都没能跟上下载的分析。我在使用过程中,尝试做一些改变使其更好用,同时也做一些记录。 1.…

ROS学习笔记(三):VSCode集成开发环境快速安装,以及常用扩展插件配置

文章目录 前言VSCode集成开发环境1 安装VSCode2 VSCode扩展插件2.1 VSCode扩展插件模块介绍2.1 常用扩展插件配置一、语言支持类插件二、智能辅助类插件三、科学计算与数据分析类插件四、ROS开发相关插件 3 总结相关链接 前言 关于Ubuntu与ROS的常规安装&#xff0c;可以看这几…

数字经济与新质生产力:地理信息与遥感视角下的深度分析

在数字化浪潮的推动下&#xff0c;我们正见证着生产力的一次历史性飞跃。数字经济如何重塑生产力的三大要素&#xff1a;劳动对象、劳动资料和劳动者&#xff1f;让我们来深度分析数字经济如何推动新质生产力的发展。 一、数字经济与地理信息的融合 地理信息与遥感技术是数字…

如何在 Windows 10 上恢复未保存/删除的 Word 文档

您是否整夜都在处理重要的 word 文件&#xff0c;但忘记保存它&#xff1f;这篇文章是给你的。在这里&#xff0c;我们将解释如何恢复未保存的 word 文档。除此之外&#xff0c;您还将学习如何恢复已删除的 word 文档。 从专业人士到高中生&#xff0c;每个人都了解丢失重要 W…

【Android 14源码分析】WMS-窗口显示-流程概览与应用端流程分析

忽然有一天&#xff0c;我想要做一件事&#xff1a;去代码中去验证那些曾经被“灌输”的理论。                                                                                  – 服装…

资源《Arduino 扩展板1-LED灯》说明。

资源链接&#xff1a;Arduino 扩展板1-LED灯 1.文件明细&#xff1a; 2.文件内容说明 包含&#xff1a;AD工程、原理图、PCB。 3.内容展示 4.简述 该文件为PCB工程&#xff0c;采用AD做的。 该文件打板后配合Arduino使用&#xff0c;属于Arduino的扩展板。 该文件主要有…

Pytorch实现RNN实验

一、实验要求 用 Pytorch 模块的 RNN 实现生成唐诗。要求给定一个字能够生成一首唐诗。 二、实验目的 理解循环神经网络&#xff08;RNN&#xff09;的基本原理&#xff1a;通过构建一个基于RNN的诗歌生成模型&#xff0c;学会RNN是如何处理序列数据的&#xff0c;以及如何在…

计算机毕业设计Spark+PyTorch股票预测系统 股票推荐系统 股票可视化 股票数据分析 量化交易系统 股票爬虫 股票K线图 大数据毕业设计 AI

《SparkPyTorch股票预测系统》开题报告 一、研究背景与意义 随着信息技术的飞速发展和全球金融市场的日益繁荣&#xff0c;股票投资已成为广大投资者的重要选择之一。然而&#xff0c;股票市场的复杂性和不确定性使得投资者在做出投资决策时面临巨大的挑战。传统的股票分析方…

防sql注入的网站登录系统设计与实现

课程名称 网络安全 大作业名称 防sql注入的网站登录系统设计与实现 姓名 学号 班级 大 作 业 要 求 结合mysql数据库设计一个web登录页面密码需密文存放&#xff08;可以采用hash方式&#xff0c;建议用sha1或md5加盐&#xff09;采用服务器端的验证码&#…

今天推荐一个文档管理系统 Dorisoy.Pan

Dorisoy.Pan 是一个基于 .NET 8 和 WebAPI 构建的文档管理系统&#xff0c;它集成了 Autofac、MediatR、JWT、EF Core、MySQL 8.0 和 SQL Server 等技术&#xff0c;以实现一个简单、高性能、稳定且安全的解决方案。 这个系统支持多种客户端&#xff0c;包括网站、Android、iO…

PID控制原理:看下这三个故事,你就明白了

一、PID的故事 小明接到这样一个任务&#xff1a;有一个水缸点漏水(而且漏水的速度还不一定固定不变)&#xff0c;要求水面高度维持在某个位置&#xff0c;一旦发现水面高度低于要求位置&#xff0c;就要往水缸里加水。 小明接到任务后就一直守在水缸旁边&#xff0c;时间长就觉…

Python | Leetcode Python题解之第450题删除二叉搜索树中的节点

题目&#xff1a; 题解&#xff1a; class Solution:def deleteNode(self, root: Optional[TreeNode], key: int) -> Optional[TreeNode]:cur, curParent root, Nonewhile cur and cur.val ! key:curParent curcur cur.left if cur.val > key else cur.rightif cur i…

Linux学习笔记(四):组与权限、任务调度、磁盘管理、网络配置、进程管理

Linux学习笔记&#xff08;四&#xff09;&#xff1a;组与权限、任务调度、磁盘管理、网络配置、进程管理 1. 组与权限 1.1 文件所有者 查看文件所有者&#xff1a; 使用 ls -ahl 或 ll 命令可以查看文件的详细信息&#xff0c;其中包括文件所有者。 修改文件所有者&…

基于SSM的定制衣服系统的设计与实现(定制衣服管理平台的设计与开发、智慧服装定制系统的设计与实现、定制衣服管理系统的设计与实现(源码+定制+参考文档)

博主介绍&#xff1a; ✌我是阿龙&#xff0c;一名专注于Java技术领域的程序员&#xff0c;全网拥有10W粉丝。作为CSDN特邀作者、博客专家、新星计划导师&#xff0c;我在计算机毕业设计开发方面积累了丰富的经验。同时&#xff0c;我也是掘金、华为云、阿里云、InfoQ等平台…

可视化图表与源代码显示配置项及页面的动态调整功能分析

可视化图表与源代码显示配置项及页面的动态调整功能分析 文章目录 可视化图表与源代码显示配置项及页面的动态调整功能分析1.分析图表源代码2.分析源代码显示功能**完整代码参考&#xff1a;** 3.分析源代码显示及动态调整**完整代码参考&#xff1a;** 4.分析代码编辑器及运行…