1월, 2021의 게시물 표시

PowerShell Script(.ps1) 파일이 메모장 대신 파워쉘에서 열리게 하는 방법

이미지
Welcome file 파워셸 스크립트 파일 파워셸 스크립트 파일 1 은 마이크로소프트가 개발한 CLI 셸 및 스크립트 언어 인터프리터입니다. 이전에도 윈도우에는 명령 프롬프트 2 가 존재했지만, 셸로서의 기능은 다른 셸 3 에 비해 터무니없이 빈약했습니다. 때문에 저는 한 때 Ruby 인터프리터 4 를 PATH에 잡아놓고 셸 대신 사용했던 적이 있는데, 이것 역시 bash 등에 비하면 매우 불편했죠. 그러던 중 어느샌가 윈도우에 파워셸이 포함되었고, Windows 10 1703 이후에는 아예 기본 CLI 셸로 자리잡게 되었습니다. 파워셸은 .NET Framework 또는 .NET Core, .NET 5 기반 DLL을 로드해 자유자재로 사용할 수 있으며 변수 선언 및 For, ForEach, If 등의 프로그래밍적 요소 역시 스크립트 언어 답게 완벽하게 구비하고 있으며, 무엇보다 Microsoft에서 개발한 것 답게 명령 프롬프트 사용 방법과 별반 차이가 없기에 기존 명령 프롬프트 사용자 역시 손쉽게 넘어올 수 있습니다. 5 Windows PowerShell과 PowerShell Core 이러한 파워셸도 종류가 나뉘게 되었는데, 2016년 8월 18일에 오픈소스로 공개되기 전의 5 버전과 공개된 후의 PowerShell 6 버전, 그리고 다양한 플랫폼을 지원하게 된 7 버전입니다. 6 이 포스트에서 설명하는 방법은 현재 Windows 10의 기본 셸인 PowerShell 6 버전을 대상으로 하지만, 5 버전이든 7 버전이든 2020. 01. 24. 현재 파일 경로만 올바르게 변경한다면 모두 적용 가능한 방법입니다. 파워셸 연결 프로그램 윈도우의 기본 셸로 탑재된 상황임에도 불구하고 .ps1 파일은 기본적으로 탐색기에서 더블클릭할 경우 메모장으로 열리게 되어있습니다. 파워셸에서 .ps1 파일을 실행하면 스크립트로 실행되나, 처음부터 셸을 통해 폴더로 접근하는 상황은 흔치 않죠. 물론 탐색기의 파일

[Gitlab/Docker] 깜빡하고 gitlab-secrets.json을 백업하지 않았을 때, CI/CD 페이지가 계속 응답 500을 반환하는 경우

이미지
참고: https://gitlab.com/gitlab-org/gitlab-foss/-/issues/47922#note_117669498 백업과 복원은 항상 신중하게 본격적인 글을 적기에 앞서, 당연한 내용이지만 다시 한번 강조합니다. 어떠한 중요한 데이터를 백업하고 복원할 때는 항상 빠진게 없는지 신중하게 하시길 바랍니다. 방금 저는 GitLab CI/CD를 구현하려다가 일이 꼬여서 컨테이너를 날리고 Docker for Windows를 재설치해야만 했습니다. 그래서 docker-exec -it gitlab gitlab-backup backup 명령어로 백업을 진행한 뒤, 백업된 .tar 파일을 안전하게 보관한 뒤에 gitlab.rb 파일도 따로 보관했습니다. 그러나, 마음이 급해서 보고도 놓친 것이 있었습니다. gitlab-backup 명령어로 백업이 완료되면 친절하게 gitlab.rb 와 gitlab-secrets.json 은 사적인 파일이니 꼭 따로 백업하라고 알려줍니다. 저는 그걸 보고도 무시해버린 것이죠. 지금 와서 다시 생각하면 정말 어이가 없습니다. 그러니 여러분은 백업과 복원을 진행하실 때 항상 신중히, 빼먹는 것이 없도록 하시기 바랍니다. gitlab-secrets.json이 없으면 생기는 상황 위에 적었다시피, 저는 CI/CD 기능을 사용하기 위해 이러한 일련의 삽질을 하는 중이었습니다. 그래서 재설치도 하고 복원도 했으니 신나는 마음으로 설정을 위해 프로젝트 CI/CD 페이지에 들어갔죠. 하지만 보이는 것은 500 에러 화면 뿐이었습니다. 뭐지? 인스턴스가 시작되자마자 페이지에 들어와서 뭐가 로딩이 덜 됐나? 하는 어리석은 생각을 하며 새로고침을 계속 해봤으나 여전히 보이는 화면은 500… 여기서부터 뭔가 잘못됐다고 느끼기 시작했습니다. 갓-구글 생각보다 원인은 쉽게 찾을 수 있었습니다. 구글에 gitlab ci cd 500 이라고 검색하고 나온 상위 문서 몇 개 중에 backup/restore 관련 문제일 수