Jenkins、Maven、Gitlab、Git の Linux オフライン インストール、Java プロジェクトのデプロイメント

Javaをインストールする

「Linux インストール Java」

Maven をインストールする

ここに画像の説明を挿入
Maven を Linux サーバーの /data/ ディレクトリにアップロードして解凍します。

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

環境変数を構成する

vim /etc/profile

エクスポート 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 はオペレーティング システムのバージョン番号です。
ここに画像の説明を挿入
対応するインストール方法を選択してください。 オフライン環境にいるので、オフライン インストールを選択します (ダウンロード速度が遅い場合は、サードパーティのダウンロード ツール (Thunder など) を使用できます。)
ここに画像の説明を挿入

オフラインでインストールする

gitlab が依存する Python ライブラリ、policycoreutils-python は 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 言語を中国語に変更する

ここに画像の説明を挿入

ここに画像の説明を挿入
次に、下にスライドして「変更を保存」を保存します。

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(

パスを /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

エクスポート パス ユーザー ログ名 メール ホスト名 HISTSIZE HISTCONTROL追加内容

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

設定ファイルを保存して有効にし、git が正常にインストールされているかどうかを確認します。

source /etc/profile && git -v

ジェンキンスのインストール

「Jenkins 中国語公式 Web サイト」
ここに画像の説明を挿入
ここに画像の説明を挿入
ここに画像の説明を挿入
Web 検索で必要な Jenkins のバージョンを見つける
ここに画像の説明を挿入

対応する war パッケージをダウンロードします (ダウンロードは遅いので、ダウンロード リンクをコピーし、Thunder などのサードパーティのダウンロード ツールを使用してダウンロードを高速化できます)。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 統合プラグイン、SSH 経由で公開
まず仮想マシンにプラグインをインストールし、次に /root/.jenkins/plugins/ の下にある jpi ファイルをコピーして、オフライン環境 /root/.jenkins/plugins/ に貼り付けます。
root はユーザーのフォルダー アドレスです。root ユーザーを使用していない場合は、jenkins をインストールしたログイン ユーザーに変更します。
ここに画像の説明を挿入

グローバル変数を構成する

これは Jenkins が使用する Maven です

ここに画像の説明を挿入

プロジェクトのJDKをコンパイルしますここに画像の説明を挿入
プロジェクトを Git にプルします

ここに画像の説明を挿入

プロジェクト Maven をデプロイする

ここに画像の説明を挿入

システム構成

Java環境変数

ここに画像の説明を挿入

Git 環境変数

追加を続けます
ここに画像の説明を挿入

Publish over SSH 構成デプロイメント・サーバー (プロジェクトを実行しているサーバー) の一番下までプルします。

ここに画像の説明を挿入

Maven プロジェクトをビルドする

ここに画像の説明を挿入

Gitlab に移動してコードのアドレスをコピーします

ここに画像の説明を挿入

jenkins に戻り、コピーしたアドレスを貼り付けます

ここに画像の説明を挿入
解決するリモート: HTTP 基本: アクセスが拒否されました。指定されたパスワードまたはトークンが間違っているか、アカウントで 2FA が有効になっているため、パスワードの代わりに個人アクセス トークンを使用する必要があります。エラー
ここに画像の説明を挿入
ここに画像の説明を挿入
ここに画像の説明を挿入
Gitlab のメイン ブランチ名を確認してください。一部はマスター、一部はメインです
ここに画像の説明を挿入

最後に取っておきます。
ここに画像の説明を挿入
エラーを報告する場合は、コンソールから Baidu に出力されたエラー メッセージを確認してください。
ここに画像の説明を挿入

デプロイメントサーバーは、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 は自動的にサーバーに公開され、自動的に実行されます」

おすすめ

転載: blog.csdn.net/weixin_43933728/article/details/131678582