私はJenkinsを初めて使います。
私の目標は、Ansible のプレイブック ファイルのグループをアクティブ化する Jenkins ジョブ\パイプライン- これにより、テスト済みの製品のインストールに長い時間がかかります。
私は造るコンテナ2個Docker デスクトップ (Windows):アンシブルそしてジェンキンス。
以下の Ansible docker-compose.yml ファイル:
version: '2'
services:
ansible:
container_name: ansible
hostname: ansible
image: ansible
volumes:
- ~/product/ansible:/ansible
working_dir: /ansible
build:
context: .
dockerfile: Dockerfile
dns:
- 200.20.0.20
networks:
- network
networks:
network:
external: true
Jenkins docker-compose.yml ファイルは以下の通りです:
version: '3.7'
services:
jenkins:
container_name: jenkins
image: jenkins/jenkins:lts
privileged: true
user: root
ports:
- 8080:8080
- 50000:50000
container_name: jenkins
volumes:
- ~/r10_core/jenkins:/jenkins
networks:
- network
networks:
network:
external: true
AnsibleとJenkinsは同じネットワークID上にあります。そのため、ping
コマンドはアンシブルにジェンキンス逆もまた同様です。両方のコンテナはインターネットにアクセスできます。
ユーザー名とパスワードを設定しました管理者|管理者以下のプラグインをインストールしましたジェンキンスコンテナを通過Jenkins サイト > Jenkins の管理 > プラグインの管理:
- Ansibleプラグイン
- パスワード
- SSHで公開
両方のマシンで SSH サービスをチェックしました。
アンシブル:
[root@ansible ansible]# ssh 172.20.0.2
ssh: connect to host 172.20.0.2 port 22: Connection refused
[root@ansible ansible]# service --status-all
bash: service: command not found
[root@ansible ansible]# systemd
bash: systemd: command not found
[root@ansible ansible]# systemctl
System has not been booted with systemd as init system (PID 1). Can't operate.
Failed to connect to bus: Host is down
[root@ansible ansible]#
ジェンキンス:
root@jenkins:/# ssh 172.20.0.3
ssh: connect to host 172.20.0.3 port 22: Connection refused
root@jenkins:/# service --status-all
[ ? ] hwclock.sh
root@jenkins:/#
Connection refused
マシン自体に接続しようとしたときにも
a) SSH を有効にするには、Ansible コンテナで何を設定すればよいですか? b) SSH を有効にするには、Jenkins コンテナで何を設定すればよいですか? c) SSH を介して相互に通信するには、各コンテナで何を設定すればよいですか? (つまりポート22ですか?