[002-D] 使用Dockerfile构建CentOS7容器 ※目前(2022/11/29)正在创建中
使用gilab+ansible+gitlab-runner实现IT基础设施的CI/CD流程
※环境搭建和本文也正在积极创建中。
本文的目的
这个目的是为了构建在Docker容器的CentOS上,ansible+gitlab-runner的CI/CD环境,了解在基础CentOS上需要加入哪些库才是合适的。
全部成员
这篇论文中要解释的部分(容器1)。
結論 // 一句话就是
以下是最终版本的容器1的Dockerfile。
# CentOS7
FROM centos:7
# system update
RUN yum -y update && yum clean all
# install sudo
RUN yum -y install sudo
# install ssh clients
RUN yum -y install openssh-clients
# install tools
RUN yum groupinstall "Development Tools" -y && \
yum install openssl-devel libffi-devel bzip2-devel -y && \
yum install wget -y
# install tools for git
RUN yum -y install curl-devel expat-devel gettext-devel openssl-devel zlib-devel gcc perl-ExtUtils-MakeMaker autoconf
# download git
WORKDIR /usr/local/src/
RUN wget https://www.kernel.org/pub/software/scm/git/git-2.31.0.tar.gz && \
tar zxvf git-2.31.0.tar.gz && \
rm -rf ./git-2.31.1.tar.gz
# install git
WORKDIR /usr/local/src/git-2.31.0
RUN ./configure --prefix=/usr/local && \
make prefix=/usr/local all && \
make prefix=/usr/local install
# export PATH
ENV PATH $PATH:/usr/local/bin:
RUN git --version
# setup workdir
WORKDIR /root
RUN mkdir -p ./opt/python && \
mkdir -p ./opt/src
# download python3.9
WORKDIR /root/opt/src
RUN wget https://www.python.org/ftp/python/3.9.2/Python-3.9.2.tgz && \
tar xvf Python-3.9.2.tgz
# install python3
WORKDIR ./Python-3.9.2/
RUN ./configure && \
make && \
make install
# ロケールを日本語に設定
ENV LANG=en_US.UTF-8
# install pip
WORKDIR /root/opt/src
RUN curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py && \
python3 get-pip.py
# install ansible
WORKDIR /root/opt/src
RUN pip install ansible ansible-lint
# setttings
ADD ./ansible.cfg /etc/ansible
# confirm ansible
RUN ansible --version && \
ansible -i localhost, all -m ping -c local
# install gitlab-runner
RUN curl -L https://packages.gitlab.com/install/repositories/runner/gitlab-runner/script.rpm.sh | sudo bash && \
yum install -y gitlab-runner
# run gitlab-runner
ENV PATH $PATH:/usr/local/bin/ansible-lint
RUN sudo gitlab-runner run &
安装基本镜像和开发工具。
有关Git安装的经过和注意事项。
经过
为什么要安装Git?
- CICDを検証するために、リポジトリ(gitlab)にローカルリポジトリからアップロードできる環境を作るため
为什么要安装全新的git?
基础镜像中包含了git,但以下仍解释了为什么需要重新安装git。
-
- ベースイメージのgitが古すぎる
- リモートリポジトリ(gitlab)に含まれるgitと、CICDの実行環境(gitlab-runner)のgitのバージョンが違いすぎるとエラーが出てハマりました。gitlabとgitlab-runnerのgitのバージョンは同じか、少なくとも近いものにしておくことをお勧めします。
注意事项
在中文中,安装Git不推荐使用yum,建议从源代码进行编译。
小心Git源代码的版本。版本太新可能包含漏洞。
在安装(编译)之后,如果不设置路径,无法使用。
建立ansible执行环境(安装Python3.9)
経緯 –
– 经过,经过的过程
– 背景,前因后果
– 情况,情节
与git类似,基本镜像中也包含了Python。安装Python的原因如下。
Ansible的执行环境需要使用3.8或更高版本。
安装3.8系列时会出现提示要进行更新。
重点注意事项
如果在没有root权限(用户权限受限)的环境中创建Python执行环境的情况下
目前,3.9版本的安装主要以从源代码进行编译为主流(根据作者的调查)。
安装Ansible(使用pip安装)
经过
安装pip的原因
为什么要安装 ansible-lint ?
请留意
安装GitLab Runner。
※会持续不断地更新。