And Brain said,
Jenkins, Publish over SSH; 원격 서버 배포 본문
오늘은 간단하게 Publish Over SSH 플러그인을 이용하여 원격 서버에 배포를 해보겠다.
일단 환경은 이렇다.
Jenkins가 존재하는 서버가 있고 Laravel 서비스가 존재하는 서버가 따로 있다.
그리하여 Jenkins로 Laravel 서버에 SSH 통신을 이용하여 자동 빌드 및 배포를 할 수 있도록 설계할 것이다.
바로 시작하자.
먼저 Jenkins에 Publish Over SSH 플러그인을 설치하도록 하자.
설치 이후 Dashboard -> Jenkins -> Configure System으로 가면
아래에 Publish over SSH가 존재할 것이다.
그러면 그 밑에 있는 SSH Server에 Name은 원하는 이름을 적고 Hostname으로 IP혹은 도메인을 적어준다.
Username에는 접속하길 원하는 User 이름을 적고 Remote Directory에는 작업할 원격 서버의 디렉토리를 적어준다.
그리고 Use password authentication, or use a different key를 체크해준다.
그러면 아래에 Passphrase / Password에 접속할 User의 비밀번호를 입력해준다. (혹은 Key 칸에 서버에 등록되어 있는 ssh 키를 넣어도 된다.)
Test Configuration를 눌러서 Success가 뜬다면 성공이다.
이제 New Item을 눌러서 Freestyle project를 만든다.
이후 소스 코드 관리 Git으로 해준뒤 Repository URL과 Private Repository라면 Credentials를 추가해준다.
Branch 또한 변경 가능하다.
마지막으로 아래에 빌드 후 조치가 있는데 여기서 Send files or execute commands over SSH를 선택하여 전송할 Source files의 디렉토리를 적고
Remote directory에 전송받는 디렉토리를 적어준다.
이렇게하면 만약 이미 파일이 존재한다면 덮어쓰고 없다면 생성될 것이다.
현재 구동중인 Laravel 서비스는 백단은 Hot fix가 되고 프론트단은 build를 한 번 해줘야하니 Exec command로 빌드 명령어까지 추가로 적어줬다.
성공!
Thanks for watching, Have a nice day.
'IT > Jenkins' 카테고리의 다른 글
Jenkins, CI/CD 파이프라인의 지휘관 - [2] (0) | 2022.12.25 |
---|---|
Jenkins, CI/CD 파이프라인의 지휘관 (0) | 2022.12.23 |
[Jenkins] Jenkins, Come here! (0) | 2022.09.26 |