[Linux+git+Gitee+Jenkins]持续集成实验安装配置详细

news/2024/9/23 11:20:20/
首先理解持续集成原理,看懂并理解图 1。
1 持续集成原理结构
1 中,版本控制服务器指远程代码仓库,本实验使用 GitEE 作为远程代码仓库;Jenkins 自动化部署服务器为虚拟机,操作系统为 Linux ;服务器 1…n 为应用服务器,可使用自己物理机作为应用服务器。
详细实验步骤如下:

一、安装 Git 工具

        在物理机上安装 Git ,可通过以下方式安装:
        1.官网下载安装文件进行安装,官网地址: https://git-scm.com/download/win
        安装 Git 教程: https://blog.csdn.net/mukes/article/details/115693833
        Git 使用教程: https://www.liaoxuefeng.com/wiki/896043488029600

二、GitEE 创建仓库

1. 登录 GieEE, 如未有帐号,先注册帐号,注册完登录 GitEE 。记住用户名和 邮箱。
2. 创建仓库。

三、使用 Git 工具将本地项目代码推送到远程仓库(GieEE

共有四种方式将本地项目代码推送到远程仓库。
方式一:使用 Git Bash 推送
方式二:使用 Git Command 推送
方式三:使用 Git GUI 推送
方式四:使用 Idea 集成 Git 工具推送
具体使用哪种方式看使用习惯。下面以 Git Bash 方式演示代码推送。
1. 进入本地项目所在目录,右键项目,选择 Git Bash Here 打开 Git Bash 命令行,输入:
git init
命令。
输入上述命令后,项目目录会出现一个 .git隐藏目录
进入项目目录,找到.git 隐藏目录,进入该目录,用 记事本方式 打开 config 文件 ,并修改

config 文件内容如下:
这里的 user要自己手动添加,origin后面会加上去的 ,user的数据哪里来呢,在我们建好的仓库有一个 克隆/下载 选项,点击之后就会出现我们需要的资料了。把 name和email后面引号内的内容 复制过去就可以了。

 

 


修改完成后,回到 Git Bash 命令行,输入:

git remote add origin 远程仓库地址

,其中远程仓库地址为 Gitee 仓库地址。如下图HTTPs下的那个https开头的地址所示:接下来将当前目录所有文件添加到暂存区,在 Git Bash 命令行输入:

git add ./

,如下图所示:

将代码提交,输入命令:
git commit -m ‘备注信息’

推送代码,输入命令:
git push origin master

推送完成后,登录 GitEE 查看代码是否成功推送。这里的登录就用上了上面的 私人令牌,没有私人令牌就会像下面一样。

点击下面图片上的配置私人令牌的链接,就会跳转到相对应的页面。 

点击生成新令牌, 就会到下一个界面,随便写一个描述直接生成就可以了,但是注意,一定要把令牌复制保存下来,不然只能重新搞一个了。这些搞定之后继续回到上面执行命令出现登陆界面,就把对应的账号和令牌填进去就可以了。

 

 

注意:这里还有可能出现拉取上传不了的情况,可能是因为远程仓库和本地文件夹的版本不一样,也就是里面文件不一样也是不能成功的,一个通用暴力的方法就是直接在push后面加一个-f,如上图,就可以上传成功,但是这样的方法会覆盖掉前面的仓库版本,只适合咱初学者刚开始时候尝试,慎用!!! 

然后我们就可以在远程仓库看到上拉成功了。

 

四、Linux 环境下安装 Jenkins

1.Linux 环境下通过 Dorcker 容器安装 Jenkins(先安装jdk21和maven

Linux 系统中先要安装 JDK ,如果没有安装,
可直接在配置界面安装)、 Maven Linux 系统中提前安装 Maven ,并配置好 Maven
先查看 系统有无jdk以及maven。这里推荐下载Java21版本,兼容性比前面的要好。
java -version
sudo apt install openjdk-21-jre-heardless
mvn -v
sudo apt install maven

搜索 Jenkins 镜像:
docker search jenkins

拉取 Jenkins 镜像:
docker pull jenkins/jenkins

创建文件目录,用于保存 Jenkins 数据。
sudo mkdir -p /data/jenkins
sudo chmod 777 /data/jenkins


运 行 Jenkins 容器:
docker run -itd -p 8081:8080 -p 50000:50000 -v
/data/jenkins:/var/jenins_home --name myjenkins jenkins/jenkins

查看已启动容器:
docker ps

容器启动后,即可访问 Jenkins 服务器。
查看 Jenkins 密钥:
docker logs myjenkins
(第一次登录 Jenkins 服务器需要输
入密钥) .
这里要重点注意这个命令执行完之后,下拉找到对应的密钥:

2.安装 Jenkins

打开浏览器,输入 Jenkins 访问地址:http://ip:8081 ,这里的ip是虚拟机的IP地址可以下载下面的工具查询,如下图所示:
sudo apt install net-tools
ifconfig

初次运行,要求输入 Jenkins 密钥,这里就是上面执行完之后下拉找到的那个密钥了 。输入完成后,进入 Jenkins 主页。

3.配置 Jenkins

Jenkins 配置内容包括:用户管理、系统配置、全局工具配置、插件管理,具
体如下图所示。
上图中数字表示配置顺序。
用户管理:添加一个用户,记住用户名和密码,添加完成后用新用户登录。
插件管理:只需要安装 Publish over SSH Deploy to container Plugin 这两个 插件。全局工具配置:需要配置 JDK, 配置 git
Configure System ( 系统设置 ) :主要配置应用服务器地址及凭证,暂可不配
置。
这里的配置暂时失败,还不知道什么原因,还需要探索一下。全都失败了,下载不了。

4、创建项目并配置自动化构建和自动化部署

创建一个自由风格项目,点击 New Item,创建一个项目。
创建项目后,配置项目如下信息:项目简介、源码管理、构建触发器、构建
环境、构建、部署
项目简介如下图所示:
源码管理配置信息如下图所示: 构建触发器和构建环境可不配置。
构建配置如下图所示:
构建后动作的配置需要配置服务器信息,用于实现自动部署。

http://www.ppmy.cn/news/1476004.html

相关文章

数仓工具—Hive基础之临时表及示例

Hive基础之临时表及示例 临时表是应用程序自动管理在大型或复杂查询执行期间生成的中间数据的一种便捷方式。Hive 0.14 及更高版本支持临时表。可以在用户会话中像使用普通表一样多次使用它们。在本文中,我们将介绍 Apache Hive 临时表,以及如何创建和使用限制的示例。 Hiv…

Windows与Ubuntu安装ffmpeg

文章目录 前言ffmpeg的简介安装ffmpegWindows下载设置环境变量 Ubuntu 总结 前言 FFmpeg是一款非常强大的开源音视频处理工具,它包含了众多的音视频编解码库,可以用于音视频的采集、编解码、转码、流化、过滤和播放等复杂的处理。在Windows系统上安装FF…

汽车的驱动力,是驱动汽车行驶的力吗?

一、地面对驱动轮的反作用力? 汽车发动机产生的转矩,经传动系传至驱动轮上。此时作用于驱动轮上的转矩Tt产生一个对地面的圆周力F0,地面对驱动轮的反作用力Ft(方向与F0相反)即是驱动汽车的外力,此外力称为汽车的驱动力。 即汽车…

【iOS】——ARC源码探究

一、ARC介绍 ARC的全称Auto Reference Counting. 也就是自动引用计数。使用MRC时开发者不得不花大量的时间在内存管理上,并且容易出现内存泄漏或者release一个已被释放的对象,导致crash。后来,Apple引入了ARC。使用ARC,开发者不再…

【代码随想录_Day30】1049. 最后一块石头的重量 II 494. 目标和 474.一和零

Day30 OK,今日份的打卡!第三十天 以下是今日份的总结最后一块石头的重量 II目标和一和零 以下是今日份的总结 1049 最后一块石头的重量 II 494 目标和 474 一和零 今天的题目难度不低,掌握技巧了就会很简单,尽量还是写一些简洁代…

【JavaEE】synchronized原理详解

本文使用的是JDK1.8 目录 引言 Java对象在JVM的结构 对象头 Mark Word Monitor Owner EntryList WaitSet 加锁过程 锁消除 偏向锁 偏向锁使用 重偏向 撤销偏向 轻量级锁 重量级锁 自旋优化 引言 对于synchronized原理讲解之前,我们需要知道Java对象…

【iOS】alloc、init和new原理

目录 前言alloc方法源码探索1. alloc方法:2. _objc_rootAlloc()方法:3. callAlloc()方法:4. 里面有个_objc_rootAllocWithZone()方法:5. _class_createInstance()方法:instanceSize()方法malloc_instance方法initInsta…

华为USG6000V防火墙安全策略用户认证

目录 一、实验拓扑图 二、要求 三、IP地址规划 四、实验配置 1🤣防火墙FW1web服务配置 2.网络配置 要求1:DMZ区内的服务器,办公区仅能在办公时间内(9:00-18:00)可以访问,生产区的设备全天可以访问 要求2:生产区不…