https://docs.gitlab.com/runner/install/linux-repository.html [Install GitLab Runner using the official GitLab repositories | GitLab다음 절차에 맞춰 세팅한 후, 깃랩 project > CI/CD > Runners에 들어가 token을 받아 세팅해준다.해당 에이전트가 설치된 서버의 'Gitlab-Runner' 사용자는 ssh 등의 키를 갖고 있지 않으므로다음 설정을 추가해 ssh key를 사용할 수 있도록 만들어준다.before_script:- eval $(ssh-agent)- echo "${SSH_KEY_SECRET_8}" | ssh-add -- mkdir -p ~/.ssh또한 다음 명령어를 추가해 g..
맨 페이지는 cd와 같은 쉘 내장 명령어에 대한 매뉴얼은 제공하지 않음.npm과 같이 외부에서 제공하는 소프트웨어의 경우도 마찬가지임맨 페이지에서 대괄호는 Optional을 상징> type npm npm is /home/octavesop/.nvm/versions/node/v18.14.0/bin/npmtype 명령어는 특정 명령어의 위치를 알려준다.alias인 경우 alias라고 출력해줌> which clear/usr/bin/clearwhich 명령어도 마찬가지긴 함help 명령어를 쓰면 cd, pwd, echo와 같은 쉘 빌트인 명령어들의 도움말도 확인해볼 수 있음 윈도우 체제에서는 물리적 / 논리적으로 드라이브가 분리되어있음. ex) C드라이브, D드라이브...그러나 ..
ssh ssh -t는 해당 쉘에 직접 접속해 명령어를 입력하는 대신 매개변수로 커맨드를 실행하는 방법이다. 다음과 같이 사용할 수 있다. $ ssh test@test.com -t "npm install" 그러나 막상 명령을 실행해보면 제대로 동작하지 않을 것이다. command not found 오류가 뜨게 되는데, 막상 직접 접속해서 사용할 때는 해당 문제가 발생하지 않는다. 왜 발생하는가 단순히 말하자면, 이는 .bashrc의 실행 여부와 환경 변수인 PATH의 문제에 의해 발생한다. ssh -t 명령어를 실행할 때, 사용자의 권한은 ssh 키나 패스워드를 통해 검증되나 실제로 로그인 세션은 발생하지 않는다. 때문에 원격 접속과는 달리 빠르고 편리하게 명령어를 실행하는 것이 가능해지므로, 주로 크론잡..
> sudo vim ~/.bashrc 마지막 줄에 다음 명령어를 추가한다. export HISTTIMEFORMAT="%Y-%m-%d %H:%M:%S " 적용되지 않았다면 한 번 로그아웃하고 다시 접속하자. 적용 시 이전의 명령어는 적용된 시간으로 표기되며, 이후 명령어부터는 입력된 시간값이 추가되어 출력된다.
배포 환경이 여의치 않은 경우 종종 연결 확인을 위해 일단 로컬로 붙여보자고 제안하는 경우가 있다. 어째 이럴 때마다 로그인이 종종 발목을 잡는데, 대개는 credentials 내지는 cookie 세팅이 원인이다. cookie 설정인 secure나 samesite 등은 독립된 성질이 아니라는 점이 더욱 그런 것 같다. 이 기회에 기록을 좀 해두어야겠다. secure 쿠키를 암호화된 방식으로 보낼 것인지에 대한 인자이다. 이 암호화는 SSL 계층을 통해 진행되므로, https 방식으로 통신하지 않으면 true로 설정했더라도 적용되지 않는다. 또한 sameSite=none은 secure가 true일 때만 적용된다. httpOnly 브라우저 단에서 쿠키에 접속하는 것을 제한하기 위한 설정이다. true로 설정..
동읍면 데이터를 마이그레이션해놓고 전송을 하려고 보니 문제가 있는 내용을 확인했다. 마이그레이션 당시 openAPI에서 제공하는 엑셀 페이지를 그대로 긁어와 넣었는데, 막상 넣고 보니 1동, 2동과 같은 내용을 제1동, 제2동 등으로 표기해 기존 데이터와 충돌이 있었던 것이다. 부산 같은 경우는 행정동이 10개까지도 빠지는 동이 있기도 하고, 수동으로 변경하려니 분명히 놓칠 것 같다고 생각했는데, REPLACE 문으로 업데이트도 할 수 있다는 사실을 알았다. UPDATE STATE SET dong_eup_myeon = REPLACE(dong_eup_myeon, '제1', '1')다음 방식을 사용하면 구로제1동 => 구로1동 형태로 변경된다. 이 경우 전체 테이블 내역에 aff..