Jira
automate1010.atlassian.net
-인스턴스 설정 계획
-> 클라우드 인프라 현황
:
-> 시나리오
: 코드를 클라우드 상의 gitea에 업로드
: jenkins에서 gitea의 코드의 변경
변경된 프로젝트 소스코드를 build
: build된 프로젝트 소스코드를
ansible이 있는 vm으로 전송
: 전송후 docker image로 빌드하여
docker-registry에 업로드
: jenkins에서 ansible이 설치된 vm에 있는
ansible-playbook을 실행하도록 하는
job을 실행하도록 설정
-git push시 push 할때마다 로그인 하지 않는 방법
-> .git/config 열기
: vi .git/config
-> 아래와 같이 수정
: [remote "origin"]
url = https://YOUR_USERNAME:YOUR_PAT@github.com/YOUR_USERNAME/myrepo.git
fetch = +refs/heads/*:refs/remotes/origin/*
-jenkins 에서 publish over ssh 할때 필요한 설정
-> sudo apt update
sudo apt install -y openssh-client
-접속되는 가상머신에 필요한 설정
-> sudo apt update
sudo apt install -y openssh-server
sudo systemctl enable --now ssh
-webhook을 사용하는 법
-> gitea에서 jenkins로 webhook을 보내도록 하기
: jenkins에서 플러그인 설치
1. Generic Webhook Trigger
-> gitea > settings > web hooks에서 jenkins에 설정 한 정보를
바탕으로 webhook을 추가해준다.
webhook은 http:// ip주소:포트번호/generic-webhook-trigger/invoke?token=test
위와 같은 형태
-docker image에 태그 생성하기
-> docker image tag mysql:0.0.1 10.0.0.6:5000/db/mysql:0.0.1
: 위와 같이 태그를 생성하면 이미지를 업로드할때 dockerhub가 아닌
다른 곳으로도 이미지를 업로드할수 있다
-docker 재시작시 컨테이너도 재시작하도록 하는 설정
-> docker container run -d -p 3306:3306 --restart always 10.0.0.6:5000/db/mysql:0.0.1
-docker 컨테이너 실행시 저장된 데이터를 영속적으로 저장하는 방법
-> 볼륨 생성
: docker volume create mysql_data
-> 컨테이너 실행시 옵션을 설정해 준다.
: docker run -d \
--name mariadb \
--restart always
-v mysql_data:/var/lib/mysql \
10.0.0.6:5000/db/mysql:0.0.1
-jenkins의 tool 설정에서 git 추가하기
-> linux
: 터미널에서 which git을 입력
: 결과로 나온 경로를 tool의 git 영역에 추가
-docker-registry의 이미지를 삭제할수 있게 설정하기
-> docker run -d \
-p 5000:5000 \
--name registry \
-e REGISTRY_STORAGE_DELETE_ENABLED=true \
-v /data/registry:/var/lib/registry \
registry:2
-Jenkins publish over ssh시 ansible-playbook 실행 오류 관련
-> 파일이 전송될 디렉터리와 Exec Shell 영역에 작성한 명령어가
실행되는 디렉터리가 다르다
: 파일은 Remote directory의 위치로 이동되지만
Exec command의 명령어는 접속한 유저의 홈 디렉터리(~/) 에서 실행이 된다.
: 명령어를 실행할 위치로 이동해서 명령어를 실행해 주어야 한다.
-결과
-> 아래와 같이 클라이언트 -> 서버 -> db 연결이 모두 되도록 하였다.
:
'project > Cloud' 카테고리의 다른 글
Azure를 활용한 DevOps 프로젝트 - 2(인프라 구축) (0) | 2025.10.07 |
---|---|
Azure를 활용한 DevOps 프로젝트 - 1(계획) (0) | 2025.10.06 |
[Cloud] aws - 3tier를 각각의 인스턴스에 설치 및 구동 (0) | 2024.06.01 |