[태그:] CI/CD
git, github, gitlab 등 CI/CD 관련 글입니다.
-
GitLab CE 서버에 사설인증서 적용하기
쿠버네티스 공부의 시작 C언어를 공부할 때 흔히 첫 프로그램으로 Hello C ! 를 출력하는 프로그램을 작성한다. 그런데 C 언어는 정말 컴파일러만 있으면 Notepad를 사용해서도 코딩을 할 수 있다. 그다지 복잡한 환경을 필요로 하지 않았다. 하지만 이젠 다르다. 뭐하나 공부하려면 통합개발환경(IDE) 프로그램을 설치해야 하고 IDE에 공부하려는 언어의 라이브러리를 설치해야 하고 해당 언어의 개발을 지원하는 각종 플러그인을 설치해야 한다. 뭐..이런 개발 환경은 노트북이나 데스크톱 컴퓨터 1대에 프로그램을 이것저것 설치하면 …
-
GitLab Runner로 가상서버(VM) 및 k8s 배포 하기
정보시스템을 구성하는데 있어 모든 IT 인프라를 물리적으로 구성하는 것은 너무도 큰 비용과 시간 그리고 인력의 투입을 필요로 한다. 그렇기에 최근 정보시스템의 구축·운영 패러다임은 가상화다. 그리고 응용프로그램 뿐만 아니라 인프라 조차도 IaC(Infra as a Code)를 통해 가상화 환경으로 배포한다. 그리고 이런 패러다임의 추종은 인프라 및 응용프로그램의 구성이 너무도 복잡해진 테스트 용 홈랩 환경에서도 필수적이다. 필자는 Proxmox VE 클러스터 환경에 홈랩을 구성하였고 Windows 11 PC에 VSCode와 Ter …
-
Proxmox VE에서 gitlab과 gitlab-runner 구축
홈랩(HomeLab)을 구축하면서 목표로 했던 것 중 하나가 Terraform IaC 코드를 자체 구축한 Gitlab 서버의 리포지토리에 구축하고 필요 시 Gitlab-Runner를 사용해서 빠르게 재구축 하는 것이었다. GitLab-Runner Registration 시 SSL인증서 검증 에러 사실 테라폼을 사용해서 GitLab을 설치하는 건 그다지 어렵지 않았다. 홈 네트워크 내부에 또 다른 차원의 내부망을 만들다 보니 외부 DNS를 사용하는 것이 불가능한 상태에서 GitLab이 설치된 서버 구성까지는 어렵지 않았지만 Prox …
-
웹사이트를 컨테이너로 포팅하고 CI/CD 파이프라인 구축하기
클라우드의 리눅스 가상서버에 직접 구축한 워드프레스 블로그의 방문자 분석을 위해 직접 PHP로 코딩하여 사용하는 웹사이트가 있다. 이 웹사이트는 직접 설치한 Apache + PHP-FPM + MariaDB에 직접 코딩한 PHP 코드로 작성하였고 1년 넘게 잘 사용하고 있다. https://blogger.pe.kr/1116-wordpress-blog-visitor-analytics/ 그리고 계속 조금씩 코드를 수정해 현재의 모습이다. Apache 웹서버 로그(Access Log) 분석 사이트 이것도 병이라면 병일까? 어느 날 갑자기 …
-
소스코드 수정 후 github에 push하고 merge하기
앞의 포스트에서 github의 코드를 Clone 명령으로 내려받고 vscode에서 편집하는 단계까지의 과정을 설명했다. (보러가기) 이제 VSCode와 같은 git을 지원하는 개발도구에서 코드를 수정한 다음 로컬PC의 Git 리포지토리에 Commit 하고 로컬PC에서 테스트한 다음 Clone한 Github에 Push 하는 과정을 설명한다. 이해를 돕기 위해 PC에 설치된 Git과 Github의 리포지토리, 브랜치의 관계를 구성도로 그려 설명한다. Git과 Github의 리포지토리, 브랜치 구성 및 관계도 Git과 Github, 리 …
-
Windows에 Git 설치 후 Github의 소스코드 내려받기(Clone)
Git 이란? git (깃 이라고 읽는다)을 사용하면서도 git을 누가 만들었는지 모르는 사람들이 의외로 많았다. git은 리눅스의 아버지라 불리는 리누스 토발즈가 개발한 소스코드 버전관리 소프트웨어다. 리눅스 커널의 메인 컨트리뷰터였으나 기존의 SVN이나 CVS등 소스코드 관리 도구가 마음에 들지 않아 그러한 도구 없이 tar, diff, patch 등의 명령어를 사용하여 수작업으로 버전을 관리하고 배포했다. 하지만 스스로 느끼는 어려움과 기여자들의 원성을 견디다 못해 잠시(2주 라는 소문이 있다) 잠수를 타더니 들고 나온 것이 …
-
VSCode와 Linux의 Git 연동하기
VSCode(Visual Studio Code)는 Microsoft에서 개발하여 공개하고 있는 소프트웨어 중 가장 찬사를 받는 소프트웨어 중 하나다. 그 이유는 개발자들이 코딩을 하는데 있어 매우 강력한기능들을 제공하기 때문이다. 비교적 무거운 소프트웨어 임에도 말이다. 그중에서도 리눅스 서버에 Remote SSH 플러그인을 통해 원격접속한 다음 서버의 소스코드를 쉽게 편집하고 저장할 수 있는 기능은 많은 개발자들이 편리하게 사용하고 있는 기능이다. 게다가 오늘 포스팅하는 "리눅스 서버에 설치된 Git"과 연동하여 Git의 버전관 …
-
vscode에서 KEY 인증 SSH 접속 시 bad permission 에러
리눅스 서버에 올려져 있는 소스코드 또는 설정파일을 편집할 때 비주얼 스튜디오 코드 (일명: VSCode)를 주로 사용하고 있다. VSCode에 Remote SSH 플러그인을 설치하면 호스트의 정보를 등록해두고 쉽게 어디서나 접속하여 소스코드를 편집하고 저장할 수 있다. 게다가 별도의 Putty 등 SSH 클라이언트를 사용하지 않고도 터미널 명령 창을 실행할 수 있어 더욱 편리하다. 또한 Git과 GitHub 연동기능을 사용하면 VSCode에서 소스코드의 버전관리 기능까지 모두 사용할 수 있어 더욱 편리한 개발환경을 구현할 수 있 …
-
리눅스에 git 설치하고 github와 연동하기
Git과 GitHub 응용프로그램을 개발하면서 직면하게 되는 어려움 중 하나가 소스코드의 형상 관리다. 코딩을 하다보면 이런 저런 다양한 알고리즘과 로직을 적용하게 되는데 그 때마다 다른이름으로 저장하고 코드를 지우고 새로 작성하고 또 다른이름으로 저장하고를 반복하기도 한다. 게다가 혼자 개발하지 않고 많은 개발자들이 하나의 SW를 개발하거나 프로젝트를 수행하게 되면 그 어려움은 말로 표현하기 어려울지경이 된다. 그래서 등장한 솔루션이 바로 형상(버전)관리시스템이다. CVS, SVN 등 다양한 소스코드의 형상을 관리할 …
-
형상관리 왕초보를 위한 Git과 Github 연동 테스트
최근 정보시스템의 개발에서 소스의 안전한 관리를 위해 Git과 Github는 필수적인 존재가 되었다. 하지만 대규모(?) 개발프로젝트를 경험해보지 않은 엔지니어나 컨설턴트는 SVN, Git 등에 대해 언급하지만 실제로 사용해본 적이 없거나 어떤 원리에 의해 프로젝트의 형상이 안전하게 관리되는지 제대로 이해하지 못하고 있는 경우가 많다. 그냥 "SVN과 Git 은 소스관리를 수행하는 형상관리 소프트웨어다" 라고 이해하고 경우가 많다. 나 또한 크게 다르지 않았다. 간간히 C나 Java, PHP 등을 통해 작은 CS기반 프로그램이나 …