728x90

단순히 폐쇄망에 들어가서 버전관리 프로그램 요청하였는데 우왕좌왕 혼란을 경험하였다.

내가 가이드했다면 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 이미지 받아서 연동

 

 

728x90

+ Recent posts