♥ はじめに
jenkins のマスター/スレーブ モードは誰もがよく知っているはずです。学習プロセス中、誰もが学習の便宜のためにローカルに jenkins 環境を構築し、それを javaweb を通じて実現しました。誰もがマスター/スレーブ モードの実装に非常に興味を持っているようです。港湾労働者。今日はこの記事で遊び方を説明しますので、お役に立てれば幸いです。
1. 環境整備
-
Linuxサーバーの準備(クラウドサーバー、自作Linuxサーバーでも可)
-
Linux サーバーに Docker をインストールする
-
jenkins イメージをプルダウンしてから、jenkins コンテナーを起動します
-
Docker でこのイメージ jenkins/ssh-slave をプルダウンします (jenkins によって提供されるイメージはマスター/スレーブ イメージとして特別に使用されます)
-
OK準備は完了しました
自動テストを学びたい場合は、ここで一連のビデオをお勧めします。このビデオは、ステーション B のネットワーク全体における最初のインターフェイス自動テスト チュートリアルと言えます。同時に、オンライン ユーザーの数は増加しています。 1,000 に達しました。収集すべきメモとさまざまな Lu Dashen Technical Exchange があります: 798478386
2. 作業を開始する準備ができました
最初のステップ: docker でリモート アクセスを有効にします。ポート 2375 を開く必要があります。このポートは慎重に開く必要があります (私は centos を使用しています)。
-
docker.service ファイル
VIM /usr/lib/systemd/system/docker.serviceを開きます。 -
docker.service ファイルの [Service] の下に次の内容を追加します。
[Service]
ExecStart=
ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix://var/run/docker靴下 -
docker サービスを再起動し、docker が構成ファイルを再読み取りできるようにします。
systemctl daemon-reload
systemctl restart docker -
ポート 2375 が正常に開かれている場合でも、docker デーモン プロセスがすでに tcp ポート 2375 をリッスンしているかどうかを docker プロセスを確認して確認します。
-
さらに検証し、他のマシンを介して docker ホストにアクセスします。
sudo docker -H tcp://139.129.130.123:2375 Images
上記のコマンドは、docker ホスト上で docker image コマンドを直接実行するのと同等であり、正しく返され、存在することを示します。問題ありません
ステップ 2: 公式 Web サイトの画像をダウンロードします (忘れないでください)
-
docker pull jenkins/ssh-slave
ステップ 3: jenkins/ssh-slave に基づいて python3 環境で新しいイメージを作成する
-
dockerfile ディレクトリを作成する
-
プロジェクトの実行が依存する Python パッケージ ファイルを dockerfile ディレクトリに置きます (依存ファイルの生成方法は書かれません。デフォルトではマスターです)
requests==2.24.0
openpyxl
ddt
pytest
selenium
pymysql
pyyaml==5.3.1
faker
jsonpath
BeautifulReport
unittestreport
rsa
pytest-html
Appium-Python-Client
-
sources.list という名前のファイルを作成し (名前は変更できず、この名前
にする必要があります)、次の内容を jenkins/ssh-slave ミラー /etc/apt/ ディレクトリ
deb http://mirrors.163.com/debian に追加します。 / Buster main 非自由 contrib
deb http://mirrors.163.com/debian/ Buster-updates main 非自由 contrib
deb http://mirrors.163.com/debian/ Buster-backports main non-free contrib
deb -src http://mirrors.163.com/debian/ Buster main non-free contrib
deb-src http://mirrors.163.com/debian/ Buster-updates main non-free contrib
deb-src http:// 163.com/debian/ Buster-backports メインの非フリー contrib
deb http://mirrors.163.com/debian-security/ Buster/updates メインの非フリー contrib
deb-src http://mirrors.163。 com/debian-security/buster/updates main non-free contrib
Sources.list 説明: 公式の jenkins/ssh-slave には Python が含まれていないため、インストール パッケージを更新するには Python をインストールする必要があります。現時点では、デフォルトのミラー ソースを使用すると非常に遅くなるため、変更します。ソース、元のファイルを上書きするだけです、ここでは独自のバージョン番号に従って変更する必要があります、私のバージョンはバスターバージョンです、もちろん、ダウンロード後は私のファイルと同じになるはずです。 -
Dockerfileを書き込む
FROM jenkins/ssh-slave:latest
USER root
WORKDIR /app
ADD requirements.txt /app
ADD sources.list /etc/apt/
RUN echo export JAVA_TOOL_OPTIONS="-Dfile.encoding=UTF-8" >> /etc/profile
RUN apt-get -y update && apt-get -y install python3 && apt-get -y install python3-pip && pip3 install -r requirements.txt -i https://pypi.douban.com/simple
-
イメージ ビルド コマンド
docker build -t jenkins/ssh-slave:v2.0 を実行します。
ステップ 4: jenkins スレーブ ノードを構成する
-
ノード構成ページに移動して、
jenkins を管理 ---> スレーブノード (ノード管理) ---> ConfigureClouds
次のページが表示されます
-
「新しいクラウドを追加」をクリックし、ドロップダウンリストから「docker」を選択すると、次のページが表示されます。
-
[Docker Cloud の詳細] をクリックして設定すると、次のようなページが表示されます。
-
「Docker Agent テンプレート」をクリックすると、次のページが表示されます。
-
以下の詳細オプションをクリックします
-
詳細オプションの具体的な構成は下図のとおりです。
-
構成が完了したら必ず保存してください。良い習慣を身に付けるためには、構成中に保存することをお勧めします。
ステップ 5: docker スレーブを jenkins タスクにバインドする
-
新しいタスクを作成し、Freestyle プロジェクトを選択します
-
ノードを実行するプロジェクトを制限し、新しく作成したノード (ラベル) を選択します
-
Git の構成
-
シェルコマンドを設定する
-
構成テストレポート
ステップ 6: プロジェクトを構築する
-
ビルドを開始すると、ビルド キューに次の図が表示されます。
2. ビルドが完了したら、プロジェクトをクリックすると、ここに来るとビルド レコードが表示されます。クリックするとビルド ログが表示されます。
3. テストレポートを表示する
4. テストレポートは次のとおりです