반응형 전체 글373 [Jenkins] 계정&Tool 설정 2023.04.12 - [프로그래밍/Docker] - [Docker] Jenkins 설치 위 링크에서 Jenkins 설치&플러그인 설치까지 진행했다. Jenkins 초기 비밀번호도 위 링크를 따라가면 적혀있고, Dokcer가 아니더라도 경로는 같으니 참조할 것. 1. Jenkins Admin 계정 생성 2. Jenkins 주소 확인 3. Global Tool Configuration Global Tool Configuration에는 JDK, Maven, Git, Gradle 등을 설정할 수 있다. JDK는 Jenkins 설치 시 자동 설정 되었고, 필요시 경로를 변경하여 원하는 버전의 JDK로 설정할 수 있다. 프로그래밍/Jenkins 2023. 4. 15. [Docker] Jenkins 설치 1. Docker Hub - Jenkins 접속 https://hub.docker.com/r/jenkins/jenkins 2. Jenkins 설치 docker pull jenkins/jenkins 3. DockerContainer 생성 아래의 링크를 참고. https://github.com/jenkinsci/docker docker run -d -v jenkins_home:/var/jenkins_home -p 8080:8080 -p 50000:50000 --restart=on-failure --name=jenkins-server jenkins/jenkins:lts-jdk11 옵션은 docker run --help로 출력가능. 그러나 IMAGE [COMMAND]에 대한 옵션은 어떻게 출력하지...? 일단 .. 프로그래밍/Docker 2023. 4. 12. [Docker] wsl 무한대기 (feat. Docker Desktop requires a newer WSL kernel version) 서버에서 GitLab과 Jenkins를 돌리려는데 Jenkins를 잘 모르겠다. 스케줄링과 같은(더 많은 서비스가 있겠지만) 개념으로 .sh을 실행하는 것 같긴 한데, 익숙지가 않아서 인프런에 강의를 구매. 근데 Windows or Mac으로 Docker를 돌리네... ? Docker가 유행이기도 하고 리눅스 방법으로 찾기보다는 그냥 따라 해보자는 마음으로 Windows에서 수행 Windows에서 Docker Desktop을 설치하고 실행하면 아래와 같은 "Docker Desktop requires a newer WSL kernel version."가 나타나는데 Power shell에 명령어를 입력해도 0%에서 올라가지 않는다. 경고창에 링크되어 있는 사이트를 들어가면 5단계부터 보여줘서 뭔가도 싶지만 .. 프로그래밍/Docker 2023. 4. 12. [NGINX] DNS Proxy 설정 일반 사이트를 보면 www.example.com, A.example.com, B.example.com 식으로 페이지가 관리되는 것을 볼 수 있다. 일단 도메인이 필요하다. 무료 도메인을 하려 했는데, 기껏 회원가입하고 이상한 도메인 요청을 했는데, 너무 느려서 유료도메인을 샀다. 5분만에 등록완료 문자가 오더라. 가비아에서 이벤트 도메인 1년 4400원 이때까지 IP와 도메인을 가렸는데, 귀찮다 호스트에 적혀있는 www, gitlab, jenkins가 있는데 A레코드라고 하며 정확한건 잘 모르겠다. 어쨋건 www.park-duck.world, gitlab.park-duck.world, jenkins.park-duck.world 를 각각 나의 IP 110.13.154.24로 전환하게 한다. 왜 다른 주소를.. 1. 개인 프로젝트/0. 프로젝트 집짓기 2023. 4. 7. [Ubuntu 18.04] Jenkins 설치 찍어뒀던 사진이 다 날아갔다. 기억을 더듬어 참고했던 블로그를 다시 찾았다. 대부분의 블로그가 18.04는 JDK8을 설치하라 했는데, NO_PUBKEY였나..? 에러가 나는 것이다. 다른 사람의 조언대로 KEY를 새로 등록도 해보고 ... 별짓 다했는데 안되더라. 아래 블로그를 보니 공식 도큐먼트 보는 것을 습관화 하자며 링크를 하나 달았는데, 어디서 찾은거지 ... ? https://velog.io/@kairos7578/Ubuntu-18.04-Jenkins%EC%84%A4%EC%B9%98-%EB%B0%8F-%EC%84%A4%EC%A0%95 내가 본 공식 문서랑 다른 거다. JDK11을 설치한다. 자동배포까지 포스팅해서 다시 찾아볼 예정, 어쨌건 위 블로그와 같이 진행하니 오류 없이 진행되었다. 유일하.. 1. 개인 프로젝트/0. 프로젝트 집짓기 2023. 4. 7. [C] 공용체(union) 변수 사용 (feat. 콜론 연산자) 제목에서 알 수 있다시피, 메모리를 공유하는 변수가 존재한다. 만약 0b00010100(20)이라는 숫자에서 bit 4번째 숫자만 0으로 바꾸고 싶다면? 비트마스킹을 이용하여 0b11101111을 and 연산을 할 수 있다. 상황에 따라 인덱스를 접근하는 함수를 만들고, 어려운 변수 값을 집어넣고... 연산하고... 이게 한눈에 보기 어렵다는 것이다 -> 가독성이 떨어짐 공용체를 사용하면 좀 더 보기 쉽게 사용이 가능하다. (이외에 임베디드쪽에서 ON/OFF 식의 센서 값을 모아서 관리하거나, 프로토콜 프레임 등 규칙성이 있는 정보를 관리하는데 효율적으로 사용된다) 아래는 소스코드. #include typedef union{ unsigned char BYTE; struct{ unsigned char bi.. 프로그래밍/C,C++,C# 2023. 4. 7. [GitLab] Local GitLab 설치 먼저 나의 사용환경은 Ubuntu 18.04 이며 GitLab 설치의 경우 18, 20, 22 모든 버전이 동일하다. 먼저 GitLab에는 CE(Community Edtion)와 EE(Enterprise Edition)버전이 있는데, CE는 Core만 제공해주는 형태에 무료버전이고, EE는 기업용으로 추가 기능이 존재한다. 예를 들면 CE는 Reviewer가 한 명, EEsms Reviewer가 두 명 아래와 같이 설치를 진행해보자. 1. 사전 종속 패키지 설치 sudo apt-get update sudo apt-get install -y curl openssh-server ca-certificates tzdata perl 2. GitLab 패키지 설치 curl https://packages.gitlab.. 1. 개인 프로젝트/0. 프로젝트 집짓기 2023. 4. 2. [C/C++] 간편하게 LOG 남기기(feat. 가변인자) C언어에 가변인자라는 개념이 존재하는데 파이썬에서 *args 또는 **kargs와 같은 개념이라 생각할 수 있다. 백문이 불여일타 사용환경 : debian gcc (컴파일러에 따라 조금씩 다를 수 있으니 참고) #include #define LOG(msg, ...) printf("%s파일에서 %s함수에서 %d번째 줄 메시지 : " msg "\n",__FILE__, __FUNCTION__, __LINE__, ##__VA_ARGS__) void main(){ LOG("message %d %f %s",999, 3.14, "Hello"); } 보통 디버깅을 위한 LOG문을 위와 같이 매크로함수로 정의하여 사용한다. (매크로 함수뿐만 아니라 일반적인 함수에서도 사용이 가능하다) printf를 사용하면 사용할 때마.. 프로그래밍/C,C++,C# 2023. 3. 29. [Python] argparse를 이용한 파이썬 실행 시 매개변수 받기 이전, 실행 시 sys.argv를 이용한 매개변수 인자값 전달받는 방법을 확인했다. 2023.03.18 - [프로그래밍/Python] - [Python] 파이썬 실행 시 매개변수 전달 [Python] 파이썬 실행 시 매개변수 전달 파이썬 input과 같은 함수로 유저에게 값을 직접 받을 수 있는데 파이썬을 실행시 값을 전달받을 수도 있다. 아래의 코드로 확인가능하다. import sys if __name__ == '__main__': print(sys.argv[0]) # main.py print(s park-duck.tistory.com 단점이 1. 매개변수의 조건에 따라 코드가 길어지거나 더러워질 수 있어 가독성이 떨어진다. 2. 시간이 지나면 매개변수의 사용 조건을 까먹어서 코드를 다시 봐야 한다. .. 프로그래밍/Python 2023. 3. 18. [Python] 파이썬 실행 시 매개변수 전달 파이썬 input과 같은 함수로 유저에게 값을 직접 받을 수 있는데 파이썬을 실행 시 값을 전달받을 수도 있다. 아래의 코드로 확인가능하다. import sys if __name__ == '__main__': print(sys.argv[0]) # main.py print(sys.argv[1]) # a print(sys.argv[2]) # b 단점은 sys.argv가 배열이기 때문에 매개변수가 없으면 sys.argv의 len값은 1이기 때문에 sys.argv[1], sys.argv[2]와 같은 값을 호출하면 out of range 에러가 발생한다. 아래와 같이 코딩하거나 또는 for, if문등을 적절히 사용하면 에러는 피할 수 있다. import sys if __name__ == '__main__': pr.. 프로그래밍/Python 2023. 3. 18. [Linux] ssh 연결 끊겨도 지속시키기 putty 등으로 ssh접속을 하고 연속적인 명령어를 수행시킨 뒤 ssh접속을 끊어버리면 그 연속적인 명령어는 종료된다. ssh접속을 하나의 터미널(사용자 세션)로 보기 때문에 터미널을 종료시키면 세션이 종료되고 해당 프로세스가 종료되는 것과 같은 것이다. 실제로 ssh접속을 끊을 때 해당 터미널의 프로세스에게 hup 시그널을 보내어 실행되던 프로세스가 종료되는데 그 hup 시그널을 보내지 않는다 하여 nohup명령어인 것이다. 먼저 실제로 ssh접속을 끊으면 명령어도 종료되는지 확인한다. putty 등으로 ssh접속을 하여 npm start를 실행시킨다. npm을 종료하지 않고 putty를 끊어본다. -> 종료된다. 이제 ssh 접속이 끊기더라도 OS에서 명령어를 지속시켜 보자. nohup [comma.. 프로그래밍/Linux 2023. 3. 11. [NodeJS] Sematic URL여러개를 하나의 변수로 받아오기 시맨틱(Semantic) URL을 사용할 떄 req.rarams를 이용해 쿼리의 값을 받아올 수 있다. example) router.get('/download/:path', async function (req, res) { console.log(req.params.path); }); 라고 할 때, path의 값을 받아올 수 있다. 나의 경우 ftp 파일의 경로를 path로 받는데 /home/user/www/public/에 있는 test.txt를 받는다고 가정하자 그러면 /download/home/user/www/public/test.txt 라고 URL을 입력할텐데 위와 같이 사용하면 Error를 출력한다. 구분자 '/'를 따라 params를 나눠 받기 때문인데, /home/user/www/public/t.. 프로그래밍/NodeJS 2023. 3. 2. 이전 1 ··· 3 4 5 6 7 8 9 ··· 32 다음 반응형