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

安装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.hqwc.cn/news/21437.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java基础---集合类

目录 典型回答 Collection和Collections有什么区别 Java中的Collection如何遍历迭代 Iterable和Iterator如何使用 为什么不把Iterable和Iterator合成一个使用 哪些集合类是线程安全的 典型回答 什么是集合 集合就是一个放数据的容器&#xff0c;准确的说是放数据对象引用…

Tomcat 基础

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 目录 前言 一、概述 二、安装 三、 目录结构 四、启停 五、配置文件 1. server.xml (1) Server (2) Listener (3) GlobalNamingResources (4) Service 01.Connector (1) port…

Unity知识记录--项目升级URP

URP是指Unity的通用渲染管线&#xff0c;此处主要针对原有项目进行升级使用&#xff0c;但并不是所有的内容都可以直接通过升级完成&#xff0c;直接使用的Unity默认的shader通常可以完成直接升级&#xff0c;自己编写的shader通常需要重做。 首先我们先要安装这个Package&…

Centos 7 安装 Oracle 11G

Oracle 11G 安装教程 准备环境 p13390677_112040_Linux-x86-64_1of7.zipp13390677_112040_Linux-x86-64_2of7.zipCentos 7- rhel7-英文版的系统–不想换语言的执行(LANGen_US)– 传输 文件到服务器上 创建用户和组 [rootlocalhost ~]# groupadd oracle [rootlocalhost ~]…

12.4 ARM异常处理

目录 ARM异常处理&#xff08;一&#xff09; 异常 概念 异常处理机制 ARM异常源 概念 ARM异常源 ARM异常模式 ARM异常处理&#xff08;二&#xff09; ARM异常响应 异常向量表 异常返回 IRQ异常举例​编辑 ARM异常处理&#xff08;三 &#xff09; 异常优先级 …

深入理解netfilter和iptables

目录 Netfilter的设计与实现 内核数据包处理流 netfilter钩子 钩子触发点 NF_HOOK宏与Netfilter裁定 回调函数与优先级 iptables 内核空间模块 xt_table的初始化 ipt_do_table() 复杂度与更新延时 用户态的表&#xff0c;链与规则 conntrack Netfilter(结合iptable…

计算机网络概述(一)

因特网概述 网络&#xff0c;互联网与因特网的区别联系&#xff1a; 以上是使用有线和无线链路连接的两个网络。那么&#xff0c;要让这两个网络连接起来&#xff0c;就需要路由器。若干个网络通过多个路由器互联起来&#xff0c;就称为了互联网。 因特网是当今世界上最大的互…

prometheus采集服务的jmx数据,grafana通过dashboard展示jmx数据

prometheus采集服务的jmx数据&#xff0c;grafana通过dashboard展示jmx数据 一、下载prometheus二、解压prometheus三、查看prometheus目录四、查看prometheus版本五、查看prometheus的配置文件六、启动prometheus七、登陆prometheus八、查看prometheus jmx九、下载grafana十、…

Orangepi Zero2 全志H616简介

一、简介 Linux 系统 &#xff0c;平台是 ARM 架构 特性 CPU 全志H616四核64位1.5GHz高性能Cortex-A53处理器 GPU MaliG31MP2 SupportsOpenGLES1.0/2.0/3.2、OpenCL2.0 运行内存 1GBDDR3(与GPU共享&#xff09; 存储 TF卡插槽_16G,测试128G可支持、2MBSPIFlash WIFI蓝牙 AW8…

kettle开发-Day40-AI分流之case/switch

前言&#xff1a; 前面我们讲到了很多关于数据流的AI方面的介绍&#xff0c;包括自定义组件和算力提升这块的&#xff0c;今天我们来学习一个关于kettle数据分流处理非常重要的组件Switch / Case 。当我们的数据来源于类似日志、csv文件等半结构化数据时&#xff0c;我们需要在…

node.js

文章目录 包含Buffer概述创建操作 软件运行过程线程与进程fs模块写入文件追加流式写入使用场景 读取文件文件流式读取读取场景 复制案例内存占有量 重命名和移动删除文件夹操作创建读取删除 查看文件的资源相对路径bug path模块http协议创建http服务器x获取请求体获取请求报文案…

Maven -- <dependencyManagement>管理子项目版本

背景&#xff1a; 一个旧项目&#xff0c;想使用mybatis-plus&#xff0c;想着这是比较基础的依赖包&#xff0c;就在父项目中添加对应依赖&#xff0c;如下: <!-- 依赖声明 --><dependencyManagement><dependencies><!-- mybatis-plus 依赖配置 -->&l…