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