An open API service indexing awesome lists of open source software.

https://github.com/jyje/ansible

๐Ÿง‘๐Ÿผโ€๐Ÿ”ง Ansible Docker Image with Community Edition for `linux/amd64` and `linux/arm64`
https://github.com/jyje/ansible

ansible cicd devops docker-image

Last synced: 2 months ago
JSON representation

๐Ÿง‘๐Ÿผโ€๐Ÿ”ง Ansible Docker Image with Community Edition for `linux/amd64` and `linux/arm64`

Awesome Lists containing this project

README

          



# jyje/ansible


Ansible

Ansible: Community-Powered Ansible Docker Image

[![release](https://github.com/jyje/ansible/actions/workflows/ci-main.yaml/badge.svg?branch=main)](https://github.com/jyje/ansible/actions/workflows/ci-main.yaml)
[![test](https://github.com/jyje/ansible/actions/workflows/ci-develop.yaml/badge.svg?branch=develop)](https://github.com/jyje/ansible/actions/workflows/ci-develop.yaml)
[![cron](https://github.com/jyje/ansible/actions/workflows/cron-fetch-pip.yaml/badge.svg)](https://github.com/jyje/ansible/actions/workflows/cron-fetch-pip.yaml)
[![GitHub Repo stars](https://img.shields.io/github/stars/jyje/ansible)](https://github.com/jyje/ansible)

[English](readme.md) / [ํ•œ๊ตญ์–ด](readme-ko.md)

๐Ÿง‘๐Ÿผโ€๐Ÿ”ง ์ด ๋ฆฌํฌ์ง€ํ† ๋ฆฌ๋Š” ์ปค๋ฎค๋‹ˆํ‹ฐ ๊ธฐ๋ฐ˜์˜ Ansible Docker ์ด๋ฏธ์ง€๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ Ansible Docker ์ด๋ฏธ์ง€๋ฅผ ๋นŒ๋“œํ•˜๊ธฐ ์œ„ํ•œ CI ํŒŒ์ดํ”„๋ผ์ธ์„ ํฌํ•จํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์ง€์›ํ•˜๋Š” ์•„ํ‚คํ…์ฒ˜๋Š” `linux/amd64`, `linux/arm64`์ž…๋‹ˆ๋‹ค.

> [!IMPORTANT]
> ์ด ๋ฆฌํฌ์ง€ํ† ๋ฆฌ๋Š” ๊ณต์‹ Ansible ํ”„๋กœ์ ํŠธ์™€ ๊ด€๋ จ์ด ์—†์Šต๋‹ˆ๋‹ค. ์ด๋Š” Ansible ์‚ฌ์šฉ์ž๋ฅผ ์œ„ํ•œ Docker ์ด๋ฏธ์ง€๋ฅผ ์ œ๊ณตํ•˜๋Š” ์ปค๋ฎค๋‹ˆํ‹ฐ ์œ ์ง€ ํ”„๋กœ์ ํŠธ์ž…๋‹ˆ๋‹ค. ๊ณต์‹ Ansible ํ”„๋กœ์ ํŠธ๋Š” ['ansible-community/ansible-build-data' ๋ฆฌํฌ์ง€ํ† ๋ฆฌ](https://github.com/ansible-community/ansible-build-data)์—์„œ ์œ ์ง€ ๊ด€๋ฆฌ๋ฉ๋‹ˆ๋‹ค. Ansible์— ๋Œ€ํ•œ ์ž์„ธํ•œ ์ •๋ณด๋Š” https://ansible.readthedocs.io/projects/ansible-build-data ๊ณต์‹ ์›น์‚ฌ์ดํŠธ๋ฅผ ๋ฐฉ๋ฌธํ•˜์„ธ์š”.

## Getting Started

์ด ๋ฆฌํฌ์ง€ํ† ๋ฆฌ์˜ ์†Œ์Šค ์ฝ”๋“œ๋ฅผ ์ง์ ‘ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์€ ๊ถŒ์žฅํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋Œ€์‹ , ghcr.io ๋ฆฌํฌ์ง€ํ† ๋ฆฌ์—์„œ ๋นŒ๋“œ๋œ Docker ์ด๋ฏธ์ง€๋ฅผ ์‚ฌ์šฉํ•˜์‹œ๋Š” ๊ฑธ ์ถ”์ฒœํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฏธ์ง€๋Š” `main` ๋ธŒ๋žœ์น˜๊ฐ€ ๊ฐฑ์‹ ๋  ๋•Œ๋งˆ๋‹ค ์ž๋™์œผ๋กœ ๋นŒ๋“œ๋˜์–ด ghcr.io ๋ฆฌํฌ์ง€ํ† ๋ฆฌ์— ํ‘ธ์‹œ๋ฉ๋‹ˆ๋‹ค.

DevOps ์›Œํฌํ”Œ๋กœ์šฐ์—์„œ Ansible Docker ์ด๋ฏธ์ง€๋ฅผ ์‚ฌ์šฉํ•˜๋ ค๋ฉด ๋‹ค์Œ ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ghcr.io ๋ฆฌํฌ์ง€ํ† ๋ฆฌ์—์„œ ์ด๋ฏธ์ง€๋ฅผ ๊ฐ€์ ธ์˜ค์„ธ์š”:

```bash
docker pull ghcr.io/jyje/ansible
```

## CI Pipeline

์ด ์ €์žฅ์†Œ๋Š” ์ž๋™ํ™”๋œ CI ํŒŒ์ดํ”„๋ผ์ธ์„ ํ†ตํ•ด Ansible Docker ์ด๋ฏธ์ง€๋ฅผ ๋นŒ๋“œํ•˜๊ณ  ๊ด€๋ฆฌํ•ฉ๋‹ˆ๋‹ค. ํŒŒ์ดํ”„๋ผ์ธ์˜ ์ฃผ์š” ํŠน์ง•์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค:

- **์ž๋™ ๋นŒ๋“œ**: `main` ๋ธŒ๋žœ์น˜์— ์ปค๋ฐ‹์ด ๋ฐœ์ƒํ•˜๋ฉด ์ž๋™์œผ๋กœ Docker ์ด๋ฏธ์ง€๋ฅผ ๋นŒ๋“œํ•ฉ๋‹ˆ๋‹ค
- **๋ฉ€ํ‹ฐ ์•„ํ‚คํ…์ฒ˜ ์ง€์›**: `linux/amd64`์™€ `linux/arm64` ์•„ํ‚คํ…์ฒ˜๋ฅผ ๋ชจ๋‘ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค
- **๋ฒ„์ „ ๊ด€๋ฆฌ**: ๊ฐ ๋นŒ๋“œ๋Š” ์ž๋™์œผ๋กœ ๋ฒ„์ „ ํƒœ๊ทธ๊ฐ€ ์ง€์ •๋˜์–ด ๊ด€๋ฆฌ๋ฉ๋‹ˆ๋‹ค
- **ํ’ˆ์งˆ ๊ด€๋ฆฌ**: ๋นŒ๋“œ๋œ ์ด๋ฏธ์ง€๋Š” ์ž๋™ ํ…Œ์ŠคํŠธ๋ฅผ ๊ฑฐ์ณ ์•ˆ์ •์„ฑ์„ ๋ณด์žฅํ•ฉ๋‹ˆ๋‹ค
- **์ž๋™ ๋ฐฐํฌ**: ์„ฑ๊ณต์ ์œผ๋กœ ๋นŒ๋“œ๋œ ์ด๋ฏธ์ง€๋Š” ์ž๋™์œผ๋กœ ghcr.io ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ์— ๋ฐฐํฌ๋ฉ๋‹ˆ๋‹ค

์ปค๋ฐ‹ ๋ฉ”์‹œ์ง€์— `--no-ci` ํ”Œ๋ž˜๊ทธ๋ฅผ ํฌํ•จ์‹œํ‚ค๋ฉด CI ํŒŒ์ดํ”„๋ผ์ธ์„ ๊ฑด๋„ˆ๋›ธ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

## Usage

DevOps ์›Œํฌํ”Œ๋กœ์šฐ์—์„œ Ansible Docker ์ด๋ฏธ์ง€๋ฅผ ์‚ฌ์šฉํ•˜๋ ค๋ฉด ๋‹ค์Œ ๋‹จ๊ณ„๋ฅผ ๋”ฐ๋ผํ•˜์‹œ๋ฉด ๋ฉ๋‹ˆ๋‹ค:

1. (์„ ํƒ) ๋„์ปค ์ด๋ฏธ์ง€๋ฅผ ํ’€๋งํ•˜์„ธ์š”.

```bash
docker pull ghcr.io/jyje/ansible
```

2. ๋„์ปค ๋ช…๋ น์–ด๋ฅผ ์ด์šฉํ•ด ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์‹คํ–‰ํ•˜์„ธ์š”.

```bash
docker run --rm -it ghcr.io/jyje/ansible ansible --help
# ๋˜๋Š”
docker run --rm -it ghcr.io/jyje/ansible ansible-playbook --help
# ๋˜๋Š”
docker run --entrypoint sh --rm -it ghcr.io/jyje/ansible
```

3. ์ปจํ…Œ์ด๋„ˆ ๋‚ด๋ถ€์—์„œ ์‹คํ–‰ํ•  Ansible ํ”Œ๋ ˆ์ด๋ถ๊ณผ ์ž‘์—…์„ ์‹คํ–‰ํ•˜์„ธ์š”.

### Using Specific Version

ํŠน์ • ๋ฒ„์ „์˜ Ansible Docker ์ด๋ฏธ์ง€๋ฅผ ์‚ฌ์šฉํ•˜๋ ค๋ฉด ๋ฒ„์ „ ํƒœ๊ทธ๋ฅผ ์ง€์ •ํ•˜์„ธ์š”. ์˜ˆ๋ฅผ ๋“ค์–ด `v11.1.0` ๋ฒ„์ „์„ ์‚ฌ์šฉํ•˜๋ ค๋ฉด ๋‹ค์Œ ๋ช…๋ น์–ด๋ฅผ ์ž…๋ ฅํ•˜์„ธ์š”:

```bash
docker pull ghcr.io/jyje/ansible:v11.1.0
```

์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ๋ฒ„์ „ ๋ชฉ๋ก์€ [ghcr.io ๋ฆฌํฌ์ง€ํ† ๋ฆฌ](https://github.com/jyje/ansible/pkgs/container/ansible)์—์„œ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

# Preinstalled Utilities

์ด๋ฏธ์ง€์—๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์œ ํ‹ธ๋ฆฌํ‹ฐ๊ฐ€ ๋ฏธ๋ฆฌ ์„ค์น˜๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค:
```
- ansible >= 9.2.0
- python == 3.12.8
- pip

- curl
- git
- jq
- openssh-client
- vim
- wget
```

## ๊ธฐ์—ฌํ•˜๊ธฐ

ํ”„๋กœ์ ํŠธ ๊ธฐ์—ฌ ๋ฐฉ๋ฒ•์— ๋Œ€ํ•œ ๋‚ด์šฉ์€ [Contributing Guidelines](contributing.md)๋ฅผ ์ฐธ๊ณ ํ•ด์ฃผ์„ธ์š”.