Linux离线安装Jenkins、Maven、Gitlab、Git,部署Java项目

news2024/11/24 15:41:12

安装Java

《Linux安装java》

安装Maven

在这里插入图片描述
把Maven上传到Linux服务器/data/目录下进行解压

cd /data/ && tar -zxvf apache-maven-3.9.3-bin.tar.gz

配置环境变量

vim /etc/profile

找到export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE HISTCONTROL在下面追加

# maven
export MAVEN_HOME=/data/apache-maven-3.9.3
export PATH=$MAVEN_HOME/bin:$PATH

保存后使环境变量生效并校验是否maven是否安装成功

source /etc/profile && mvn -version

修改默认依赖仓库位置

mkdir -p /data/apache-maven-3.9.3/repository && vim /data/apache-maven-3.9.3/conf/settings.xml

找到localRepository>/path/to/local/repo</localRepository,在注释外面追加

<localRepository>/data/apache-maven-3.9.3/repository/</localRepository>

配置镜像,找到mirrors标签,在里面追加如下内容

        <mirror>
            <id>aliyunmaven</id>
            <mirrorOf>*</mirrorOf>
            <name>阿里云公共仓库</name>
            <url>https://maven.aliyun.com/repository/public</url>
        </mirror>
        <!--        spring-->
        <mirror>
            <id>aliyunmaven</id>
            <mirrorOf>*</mirrorOf>
            <name>阿里云公共仓库</name>
            <url>https://maven.aliyun.com/repository/spring</url>
        </mirror>
        <!--        spring-plugin-->
        <mirror>
            <id>aliyunmaven</id>
            <mirrorOf>*</mirrorOf>
            <name>阿里云公共仓库</name>
            <url>https://maven.aliyun.com/repository/spring-plugin</url>
        </mirror>
        <!--        google-->
        <mirror>
            <id>aliyunmaven</id>
            <mirrorOf>*</mirrorOf>
            <name>阿里云公共仓库</name>
            <url>https://maven.aliyun.com/repository/google</url>
        </mirror>
        <!--        grails-core-->
        <mirror>
            <id>aliyunmaven</id>
            <mirrorOf>*</mirrorOf>
            <name>阿里云公共仓库</name>
            <url>https://maven.aliyun.com/repository/grails-core</url>
        </mirror>
        <!--        apache snapshots-->
        <mirror>
            <id>aliyunmaven</id>
            <mirrorOf>*</mirrorOf>
            <name>阿里云公共仓库</name>
            <url>https://maven.aliyun.com/repository/apache-snapshots</url>
        </mirror>

安装GitLab

《GitLab官网下载》
我的系统是Centos7 因此下载el/7版本的,7就是操作系统的版本号
在这里插入图片描述
选择对应的安装方式,我是离线环境,因此选择离线安装(下载速度慢,可以使用第三方下载工具,如:迅雷等)
在这里插入图片描述

离线安装

gitlab依赖的python库,policycoreutils-python is needed by gitlab-ce-16.0.7-ce.0.el7.x86_64
,找台能联网的虚拟机下载对应的policycoreutils-python rpm 包

yum install policycoreutils-python --downloadonly --downloaddir=/data/gitlab_rpm/

把这些rpm包复制到内网/data/gitlab_rpm/文件夹下进行离线安装
在这里插入图片描述
最好离线机器也放到同一个文件夹下存放rpm包,进行安装

cd /data/gitlab_rpm/ && rpm -ivh *.rpm --force --nodeps

离线安装gitlab

cd /data/ && rpm -ivh gitlab-ce-16.0.7-ce.0.el7.x86_64.rpm

看到如下图标就表示安装成功了
在这里插入图片描述
修改ip和端口号

vim /etc/gitlab/gitlab.rb
external_url 'http://192.168.1.111:8800'

重新加载gitlab配置文件(过程可能有点长)

gitlab-ctl reconfigure

查看gitlab初始密码

cat /etc/gitlab/initial_root_password

开放防火墙进入gitlab控制台修改初始密码

systemctl stop firewalld && systemctl disable firewalld

在这里插入图片描述

修改Gitlab初始密码

在这里插入图片描述
在这里插入图片描述

修改Gitlab语言为中文

在这里插入图片描述

在这里插入图片描述
然后滑到最下面进行Save changes保存

修改Gitlab存储位置

创建gitlab数据存储目录并停止gitlab

mkdir -p /data/gitlab/data/ && gitlab-ctl stop

移动gitlab安装目录到/data目录下

cp -R /var/opt/gitlab /data

修改数据存放目录

vim  /etc/gitlab/gitlab.rb

不要按I输入,查找变量

/git_data_dirs(

修改path为/data/gitlab/git-data

# 因为默认的git_data_dirs是被注释掉了,我们直接在他下面追加如下内容即可。
git_data_dirs({
   "default" => {
     "path" => "/data/gitlab/git-data"
   }
})

给我们创建的文件777权限

chmod  -R 777 /data/gitlab/git-data/repositories

使配置文件生效并重启gitlab

gitlab-ctl reconfigure && gitlab-ctl restart

安装Git

《Git压缩包tar.gz下载》
在这里插入图片描述
git相关依赖【还是老办法,先下载到虚拟机,再打包放到离线环境安装】

yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel gcc-c++ perl-ExtUtils-MakeMaker --downloadonly --downloaddir=/data/git_rpm/

安装git需要的依赖

cd /data/git_rpm/ && rpm -ivh *.rpm --force --nodeps

上传到linux服务器的usr/loacl/目录下解压

tar -zxvf /usr/local/v2.39.0.tar.gz -C /usr/local/

离线安装git

cd /usr/local/git-2.39.0/
make prefix=/usr/local/git-2.39 all
make prefix=/usr/local/git-2.39 install

配置环境变量

vim /etc/profile

export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE HISTCONTROL追加内容

# git
export GIT_HOME=/usr/local/git-2.39
export PATH=$GIT_HOME/bin:$PATH

保存,使配置文件生效并查看git是否安装成功

source /etc/profile && git -v

安装Jenkins

《Jenkins中文官网》
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
通过网页搜索找到我们需要的Jenkins版本
在这里插入图片描述

下载对应的war包(下载慢可以复制下载链接用第三方下载工具加速下载,如:迅雷等。)
在这里插入图片描述
jdk17可能会缺少字体依赖【还是老办法】

yum install fontconfig --downloadonly --downloaddir=/data/java/
cd /data/java/ && rpm -ivh *.rpm --force --nodeps
fc-cache --force

部署

创建jenkins存放文件夹,并进入该文件夹,上传war包到这个目录下

mkdir -p /data/jenkins/ && cd /data/jenkins/

上传完war包以后启动jenkins,确保已经安装好java和配置好环境变量

nohup java -jar jenkins.war --httpPort=8811 >nohup.out 2>&1 &

查看jenkins是否启动成功(可能要等个30-60秒)

cat nohup.out

如果输出
查看初始密码
root是当前登录用户的文件夹,如果你的登录用户是其它则替换成对应的登录用户进行查看.

cat /root/.jenkins/secrets/initialAdminPassword

初始账号:admin(如果有的话)
初始密码:f4c5d63605124461aeffb8180b639908(就是上面通过命令查看的密码)

安装插件(建议使用它的推荐安装)

必装:Maven Integration plugin、Publish Over SSH
先在虚拟机安装好插件,到时候复制/root/.jenkins/plugins/下的jpi文件粘贴到离线环境/root/.jenkins/plugins/
root是用户的文件夹地址,如果你不是用root用户,则改成你安装jenkins的登录用户
在这里插入图片描述

配置全局变量

这个是Jenkins使用的Maven

在这里插入图片描述

编译项目的JDK在这里插入图片描述
拉去项目的Git

在这里插入图片描述

部署项目的Maven

在这里插入图片描述

系统配置

java环境变量

在这里插入图片描述

Git环境变量

继续新增
在这里插入图片描述

拉到最底下的 Publish over SSH配置部署服务器,就是运行项目的服务器

在这里插入图片描述

构建一个maven项目

在这里插入图片描述

去Gitlab拷贝代码地址

在这里插入图片描述

回到jenkins粘贴复制的地址

在这里插入图片描述
解决 remote: HTTP Basic: Access denied. The provided password or token is incorrect or your account has 2FA enabled and you must use a personal access token instead of a password. 错误
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
查看Gitlab的主分支名称,有的是master有的是main
在这里插入图片描述

最后保存。
在这里插入图片描述
报错就看控制台输出的错误信息去百度
在这里插入图片描述

部署服务器手动启动jar包(防火墙记得开放相应端口,避免无法访问

[root@node2 /]# cd /docker_data/jenkins/home/workspace/first/target/
[root@node2 target]# java -jar gitlabdemo-0.0.1-SNAPSHOT.jar

  .   ____          _            __ _ _
 /\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
 \\/  ___)| |_)| | | | | || (_| |  ) ) ) )
  '  |____| .__|_| |_|_| |_\__, | / / / /
 =========|_|==============|___/=/_/_/_/
 :: Spring Boot ::                (v2.7.6)

2022-12-14 08:12:22.723  INFO 41645 --- [           main] com.fu.gitlabdemo.GitlabdemoApplication  : Starting GitlabdemoApplication v0.0.1-SNAPSHOT using Java 1.8.0_341 on node2 with PID 41645 (/docker_data/jenkins/home/workspace/first/target/gitlabdemo-0.0.1-SNAPSHOT.jar started by root in /docker_data/jenkins/home/workspace/first/target)
2022-12-14 08:12:22.726  INFO 41645 --- [           main] com.fu.gitlabdemo.GitlabdemoApplication  : No active profile set, falling back to 1 default profile: "default"
2022-12-14 08:12:23.926  INFO 41645 --- [           main] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat initialized with port(s): 9090 (http)
2022-12-14 08:12:23.951  INFO 41645 --- [           main] o.apache.catalina.core.StandardService   : Starting service [Tomcat]
2022-12-14 08:12:23.951  INFO 41645 --- [           main] org.apache.catalina.core.StandardEngine  : Starting Servlet engine: [Apache Tomcat/9.0.69]
2022-12-14 08:12:24.239  INFO 41645 --- [           main] o.a.c.c.C.[Tomcat].[localhost].[/]       : Initializing Spring embedded WebApplicationContext
2022-12-14 08:12:24.239  INFO 41645 --- [           main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 1448 ms
2022-12-14 08:12:24.772  INFO 41645 --- [           main] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat started on port(s): 9090 (http) with context path ''
2022-12-14 08:12:24.786  INFO 41645 --- [           main] com.fu.gitlabdemo.GitlabdemoApplication  : Started GitlabdemoApplication in 2.517 seconds (JVM running for 2.991)

springboot测试代码
启动类

@RestController
@SpringBootApplication
public class GitlabdemoApplication {
    public static void main(String[] args) {
        SpringApplication.run(GitlabdemoApplication.class, args);
    }

    @GetMapping("hello")
    public String hello(){
        return "hello world!";
    }
}

yml配置server.port: 9090
pom.xml

		<dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

浏览器访问192.168.56.12:9090/hello
在这里插入图片描述

下一篇

《jenkins自动化发布到服务器并自动运行》

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

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

相关文章

【C语言】约分最简式

题目描述&#xff1a; 分数可以表示为分子/分母的形式。编写一个程序&#xff0c;要求用户输入一个分数&#xff0c;然后将其约分为最简分式。最简分式是指分子和分母不具有可以约分的成分了。如6/12可以被约分为1/2。当分子大于分母时&#xff0c;不需要表达为整数又分数的形…

基于 JIT 技术的开源全场景高性能 JSON 库

大家好&#xff0c;我是Mandy&#xff0c;上一节我们对Go中的切片数据类型进行了深度的剖析&#xff0c;今天给大家分享一个字节跳动自研开源的JSON数据解析包。一个速度奇快的 JSON 序列化/反序列化库&#xff0c;由 JIT &#xff08;即时编译&#xff09;和 SIMD &#xff08…

基于亚博K210开发板——LED(RGB)点灯

文章目录 开发板实验目的实验准备查看原理图软件对应SDKGPIO配置函数什么是 FPIOA 呢 实验代码LED/RGB驱动主程序控制 实验结果 开发板 实验目的 实现开发板上LED0、LED1以及RGB灯的点亮 实验准备 查看原理图 K210 开发板出厂默认已经焊接好 LED0 和 LED1。LED0 连接的是 IO…

Acrel-1000DP分布式光伏系统在重工企业的应用

安科瑞 崔丽洁 摘 要&#xff1a;分布式光伏发电特指在用户场地附近建设&#xff0c;运行方式以用户侧自发自用、余电上网&#xff0c;且在配电系统平衡调节为特征的光伏发电设施&#xff0c;是一种新型的、具有广阔发展前景的发电和能源综合利用方式&#xff0c;它倡导就近发电…

2D、3D机器视觉各有优势与局限,融合应用将成工业领域生产新方式

在智能制造的浪潮中&#xff0c;制造行业生产线亟需转型升级&#xff0c;为国内机器视觉市场释放出了惊人的机器视觉技术及产品需求。在自动化工业质量控制和在线检测领域&#xff0c;2D机器视觉与3D机器视觉都具有重要的作用。那在机器视觉自动化场景中该如何选择合适的机器视…

udp传输大数据的原理和相关问题注意事项

UDP协议本身不提供大数据传输的分片、重组、丢包重传等功能&#xff0c;因此需要对大数据传输进行特殊处理。以下是UDP传输大数据一些常见的处理方法。 &#xff08;1&#xff09;对大文件进行分块&#xff1a;将大文件划分为多个小块进行传输&#xff0c;每个小块都可以使用UD…

机器学习指标计算

一、有如下图 accuracy accuracy T P T N T P T N F P F N \text { accuracy }\frac{T PT N}{T PT NF PF N} accuracy TPTNFPFNTPTN​ accuracy指的是正确预测的样本数占总预测样本数的比值&#xff0c;它不考虑预测的样本是正例还是负例,考虑的是全部样本。 precision&…

【Ubuntu源码安装PostgreSQL】

Ubuntu源码安装PostgreSQL 1. PostgreSQL官网下载压缩包2. 解压&安装2.1 解压文件2.2 安装依赖2.3 执行安装2.4 执行安装2.5 添加路径到文件 3. 初始化数据库与使用3.1 初始化数据库3.2 启动数据库服务3.3 启动数据库 1. PostgreSQL官网下载压缩包 下载地址&#xff1a;ht…

基于linux下的高并发服务器开发(第一章)- 动态库加载失败的原因1.7

01 / 动态库的制作 02 / 工作原理 静态库&#xff1a;GCC进行链接时&#xff0c;会把静态库中代码打包到可执行程序中动态库&#xff1a;GCC进行链接时&#xff0c;动态库的代码不会被打包到可执行程序中程序启动之后&#xff0c;动态库会被动态加载到内存中&#xff0c;通过 …

Spring Cloud之Config分布式配置应⽤

. 右键⽗⼯程【 yx-parent 】选择【 New 】 - 【 Module 】选项&#xff0c;然后选择创建【 Maven 】类型项⽬&#xff08;不勾选模 板&#xff09;&#xff0c;将项⽬名称设置为【yx-cloud-config 】。 在yx-cloud-config⼯程的pom.xml⽂件中引⼊以下依赖坐标&#xff08;需要…

AI原生云向量数据库Zilliz Cloud查看备份快照和恢复备份

目录 快照状态 查看快照详情 相关文档 本文介绍如何查看已创建的快照信息。您可以手动或自动创建快照。 快照状态 根据不同场景,快照可能会处于如下状态: 创建中 如果快照处于此状态,则无法创建其他快照。但您可以单击操作列中的更多按钮,然后选择取消来终止创建过程。…

SpringCloud——分布式请求链路跟踪Sleuth

安装运行zipkin SpringCloud从F版已不需要自己构建Zipkin Server&#xff0c;只需要调用jar包即可 https://dl.bintray.com/oenzipkin/maven/io/zipkin/java/zipkin-server/ 下载&#xff1a;zipkin-server-2.12.9-exec.jar 运行&#xff1a;java -jar zipkin-server-2.12.9-e…

【Excel】excel多个单元格的内容合并到一个单元格,并使用分隔符

方法一&#xff1a;使用连接符 & 左键单击选中“D2”单元格&#xff0c;在D2单元格中输入公式“A2&B2&C2”&#xff0c;按“Enter”即可实现数据合并。 ------如果想连接的时候&#xff0c;中间加分隔符&#xff0c;可以使用&#xff1a;公式A2&"&#xf…

4G无线红外电表电能量力参数采集仪器功能DL/T645-1997、DL/T645-2007、DL∕T698.45-2017

红外抄表终端应支持4G通信&#xff0c;满足电信、移动、联通全网通的通信制式&#xff1b; &#xff08;2&#xff09;采集终端支持并兼容DL/T645-1997、DL/T645-2007、DL∕T698.45-2017版本电表&#xff1b; &#xff08;3&#xff09;采集终端以IR红外为数据采集方式&#xf…

pycharm import的类库修改后要重启问题的解决方法

通过将以下行添加到pycharm中的settings-> Build,Excecution,Deployment-> Console-> Python Console中&#xff0c;可以指示Pycharm在更改时自动重新加载模块&#xff1a; %load_ext autoreload %autoreload 2

SOLIDWORKS如何定制化异型孔向导及其孔标注

异型孔向导是SOLIDWORKS中一个极为方便的功能&#xff0c;只需要简单的几步设置就可以根据工程师设定好的标准、类型、大小创建符合标准的孔(包括:柱形沉头孔、锥形沉头孔、直孔、直螺纹孔、锥形螺纹孔等等)。此外由于工程图和三维模型的协同关联&#xff0c;生成孔的公差信息、…

Java将获取的参数,图片以及pdf文件放入到word文档指定位置

首先引入的依赖 <!-- poi库 --> <dependency><groupId>org.apache.poi</groupId><artifactId>poi</artifactId><version>4.1.2</version></dependency><dependency><groupId>org.apache.poi</groupId&…

VQA评测evaluation代码:gqa / aokvqa / vqav2 / scienceQA

VQA评测分多种&#xff0c;这里提几种&#xff0c;代码参考来自lavis和mmpretrain。 一、gqa评测&#xff08;只有一个answer&#xff09; 数据集下载及格式&#xff1a; blip中json地址 图片下载 # gqa格式已重新整理&#xff0c;特点是每个question对应的gt_answers只有一…

Linux操作系统知识点总结(附VMware、CentOS以及finalshell的安装教程)

1. 计算机的组成部分&#xff1a;输入单元&#xff0c;中央处理器&#xff08;CPU&#xff09;&#xff0c;输出单元。 CPU的种类包括&#xff1a;精简指令集&#xff08;RISC&#xff09;和复杂指令集&#xff08;CISC&#xff09;。 计算机的五大单元包括输入单元、输出单元、…

vue3+element+sortablejs实现table表格 行列动态拖拽

vue3elementsortablejs实现table动态拖拽 1.第一步我们要安装sortablejs依赖2.在我们需要的组件中引入3.完整代码4.效果 1.第一步我们要安装sortablejs依赖 去博客设置页面&#xff0c;选择一款你喜欢的代码片高亮样式&#xff0c;下面展示同样高亮的 代码片. npm install so…