단순히 폐쇄망에 들어가서 버전관리 프로그램 요청하였는데 우왕좌왕 혼란을 경험하였다.
내가 가이드했다면 svn 설치하고 이용하라고 했을 것 같지만, 요청하였지만 허공에 날아간 요청 내용이여... ㅋㅋㅋ
이글을 읽고 계신분들도 비슷한 경험이 있었는지 모르겠네요.
담당 영역은 아니어서 늘 고민하지 않았지만 이번 회사에서는 github 사용하고 aws 개발 환경을 사용하기에 폐쇄망 들어가면 담당이 없이 요청만 발생하는 것을 경험했습니다.
뭐 저마다 방법이 있겠지만 ci/cd 로컬 설정방안에 대해서 가이드가 없다면 대안을 가지고 있어야 하기에 도전해 봅니다.
- 목표
우선 ubuntu 이미지를 다운받아서 gitea 를 설정하고 jenkins 이미지를 하나더 만들어서 ci/cd를 구성하는 것이 목적입니다.
굳이 분리하는 이유는 각각 사용하는 경우도 있을 수 있고 둘다 사용하는 경우도 있을 것 같아서 입니다.
1. 우선 우분투 이미지를 받아서 Gitea 설치
docker run -it -d --name gitea-maria -p 4306:4306 -p 4000:3000 -p 25:25 --privileged=true ubuntu:20.04 /bin/bash
> docker container ls
> docker ps
docker exec -it [container id] /bin/bash
----------- docker 이미지 내에서 작업 -----------------
apt update & apt upgrade & apt-get update
apt-get install wget
apt-get install systemd
apt-get install nano
apt-get install systemctl
apt install mariadb-server
apt-get install mariadb-client
/etc/init.d/mysql restart
mysql_secure_installation
systemctl restart mysql
----port 변경-----
/etc/mysql/mariadb.cnf 파일 맨아래 included /etc/mysql/mariadb.conf.d/ 주석을 해제한다.
/etc/mysql/mariadb.conf.d/nano 50-server.cnf 파일에서 #port =3306 주석해제하고 원하는 포트로 변경해 준다.
---------------------
mysql -u root -p
CREATE DATABASE gitea CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
CREATE USER 'gitea'@'localhost' IDENTIFIED BY 'gitea1234';
GRANT ALL ON gitea.* TO 'gitea'@'localhost';
GRANT ALL privileges on gitea.* TO 'gitea'@'localhost';
FLUSH PRIVILEGES;
cd /home
wget -O /tmp/gitea https://dl.gitea.com/gitea/1.20.3/gitea-1.20.3-linux-amd64
mv /tmp/gitea /usr/local/bin
chmod +x /usr/local/bin
apt -y install git
git --version
adduser \
--system \
--shell /bin/bash \
--gecos 'Git Version Control' \
--group \
--disabled-password \
--home /home/git \
git
wget https://raw.githubusercontent.com/go-gitea/gitea/main/contrib/systemd/gitea.service -P /etc/systemd/system/
mkdir -p /var/lib/gitea/{custom,data,log}
chown -R git:git /var/lib/gitea/
mkdir /etc/gitea
chown root:git /etc/gitea
chmod 750 /etc/gitea
mkdir -p /etc/gitea /var/lib/gitea/{custom,data,indexers,public,log}
chown git:git /etc/gitea /var/lib/gitea/{custom,data,indexers,public,log}
chmod -R 750 /var/lib/gitea/
chmod 750 /var/lib/gitea/{data,indexers,log}
chmod 770 /etc/gitea
# gitea 설정후 생성됨
#chmod 640 /etc/gitea/app.ini
systemctl daemon-reload
nano /etc/systemd/system/gitea.service
# vi /etc/systemd/system/gitea.service
-------------------------
[Unit]
Description=Gitea
After=syslog.target
After=network.target
After=mysql.service
[Service]
RestartSec=2s
Type=simple
User=git
Group=git
WorkingDirectory=/var/lib/gitea/
ExecStart=/usr/local/bin/gitea web -c /etc/gitea/app.ini
Restart=always
Environment=USER=git HOME=/home/git GITEA_WORK_DIR=/var/lib/gitea
[Install]
WantedBy=multi-user.target
------------------------------------
systemctl daemon-reload
systemctl start gitea
1차시도 내용
docker pull ubuntu:latest <-- 원하는 동작을 안해서 다른 버전으로 변경
docker pull ubuntu:22.04
docker run -it -d --name gitea-maria2 -p 4306:3306 -p 4000:3000 -p 25:25 --privileged=true ubuntu:20.04 /bin/bash
> docker container ls
> docker ps
docker exec -it [container-id] /bin/bash
apt update & apt upgrade
apt-get update
-------------------------------- 우분투 설치 완료
--------------------------------마리아 db 설치
sudo apt install mariadb-server
apt-get install mariadb-client
# 소켓 에러시 재시작
#/etc/init.d/mysql restart
# service mysql start
#mysql -u root -p mysql -S /var/lib/mysql/mysql.sock
보안설정
mysql_secure_installation
# set root password 와 모두 y ( test db 삭제, 임의 접근 삭제 )
# sudo systemctl restart mysql
mysql -u root -p
> select version();
10.3.38-MariaDB-0ubuntu0.20.04.1
--------------------------------마리아 db 설치 완료
--------------------------------마리아 db 초기 설정
db 생성
create database gitdatabase default character set utf8;
use gitdatabase;
create user 'gitmaster'@'%' identified by '1234';
grant all privileges on gitdatabase.* to gitmaster@'%';
flush privileges;
----------- 다른 방식 참고--------------
CREATE DATABASE gitea CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
CREATE USER 'gitea'@'localhost' IDENTIFIED BY 'gitea1234';
GRANT ALL ON gitea.* TO 'gitea'@'localhost';
FLUSH PRIVILEGES;
----------------------------------- gitea (https://about.gitea.com/)
apt-get install wget
wget -O gitea https://dl.gitea.com/gitea/1.20.3/gitea-1.20.3-linux-amd64
chmod +x gitea
#gpg --keyserver keys.openpgp.org --recv 7C9E68152594688862D62AF62D9AE806EC1592E2
#gpg --verify gitea-1.20.3-linux-amd64.asc gitea-1.20.3-linux-amd64
sudo apt -y install git
>git --version
git version 2.25.1
----------------------------------- Git 사용자를 생성
sudo adduser \
--system \
--shell /bin/bash \
--gecos 'Git Version Control' \
--group \
--disabled-password \
--home /home/git \
git
# mv /tmp/gitea /usr/local/bin
# chmod +x /usr/local/bin/gitea
mkdir -p /var/lib/gitea/{custom,data,log}
chown -R git:git /var/lib/gitea/
chmod -R 750 /var/lib/gitea/
mkdir /etc/gitea
chown root:git /etc/gitea
chmod 770 /etc/gitea
chmod 750 /etc/gitea
#chmod 640 /etc/gitea/app.ini
mkdir -p /etc/gitea /var/lib/gitea/{custom,data,indexers,public,log}
chown git:git /etc/gitea /var/lib/gitea/{custom,data,indexers,public,log}
chmod 750 /var/lib/gitea/{data,indexers,log}
chmod 770 /etc/gitea
---------------------------Systemd 단위 파일 생성
wget https://raw.githubusercontent.com/go-gitea/gitea/main/contrib/systemd/gitea.service -P /etc/systemd/system/
---------------------------Gitea 서비스를 활성화
apt-get install systemd
systemctl daemon-reload
apt-get install nano
apt-get install systemctl
nano /etc/systemd/system/gitea.service
# docker commit -a "gitea" -m giteamariaimg "gitea-maria" commit_test:latest
# apt-get update && apt-get install -yqq daemonize dbus-user-session fontconfig
# daemonize /usr/bin/unshare --fork --pid --mount-proc /lib/systemd/systemd --system-unit=basic.target
# exec nsenter -t $(pidof systemd) -m -p su - $LOGNAME
# snap version
systemctl enable --now gitea
systemctl status gitea
ufw allow 3000/tcp
https://ko.linux-console.net/?p=3494#gsc.tab=0
Ubuntu 22.04에 Gitea를 설치하는 방법
Ubuntu 22.04에 Gitea를 설치하는 방법 이 튜토리얼은 다음 OS 버전에 대해 존재합니다. Ubuntu 22.04(Jammy Jellyfish)Ubuntu 18.04(Bionic Beaver) 이 페이지에서 전제 조건 시작하기\nMariaDB 설치 및 구성 Gitea 설치 및
ko.linux-console.net
mariadb 포트 확인
SHOW GLOBAL VARIABLES LIKE 'PORT';
2. jenkins 이미지 받아서 연동
'프로그램 > docker' 카테고리의 다른 글
| CouchDB docker 설치 (2025.11.24) (0) | 2025.11.24 |
|---|---|
| window 11에서 docker 설치(2025.09.19) (0) | 2025.09.19 |
| update self hosted n8n (2025.06.03) (0) | 2025.06.03 |
| vibe coding 를 위한 deepseek in On-Premise(2025.05.26) (0) | 2025.05.27 |
| 도커 작성글 모아보기 (1) | 2023.05.29 |