반응형 분류 전체보기401 [Jenkins] Git fatal: could not read Username 오류 해결 git push를 하는데 오류가 발생, 검색했더니 워낙 정보가 없어서 헤매었다. 여기서 나오는 could not read Username오류에서 Username을 인식 못하는 건가 싶어 Username을 바꿔도 보고, git config --list도 확인하고, Credentials도 추가해 보고 별짓을 다했으나 해결되지 않았는데, 문득 jenkins로 로그인해서 직접 해보자는 생각이 들었다. 먼저 jenkins 유저 로그인해야 하는데 su로 로그인하여 아래 명령어를 입력하여 user home으로 이동한다. su -s /bin/bash jenkins cd ~/ pwd git push를 해보기 전에, 먼저 수행한 것은 .ssh 추가이다. jenkins도 서버의 한 유저이기 때문에 .ssh 키등록을 해주어야.. 프로그래밍/Jenkins 2023. 6. 7. [Git] 4. branch(2) 원격 저장소 브랜치 확인 git remote show [저장소] 로컬 브랜치 원격 저장소 업로드 git push -u [저장소 이름] [브랜치 이름] 브랜치 이름바꿔 업로드 git push -u [저장소 이름] [로컬 브랜치 이름]:[원격 브랜치 이름] 업스트림 생성 git checkout --track [저장소 이름]/[브랜치 이름] 원격 브랜치 동기화 git checkout -b [(로컬) 새 브랜치 이름] [저장소 이름]/[브랜치 이름] 업스트림 설정 (원격 저장소만 연결되고 업스트림이 설정되어 있지 않을 때) git push --set-upstream [저장소 이름] [브랜치 이름] 현재 브랜치 업스트림 추적 (기존 브랜치를 특정 원격 브랜치로 추적) git branch -u [저장소 이름]/[브.. 프로그래밍/Git 2023. 6. 5. [C,C++,C#] 구조체 padding 제거(feat. 구조체 크기 계산) 이전 글에서 구조체의 크기가 멤버 변수보다 크게 잡히는 현상을 확인했다. 2023.06.04 - [프로그래밍/C,C++,C#] - [C,C++,C#] 구조체 메모리 크기 계산 [C,C++,C#] 구조체 메모리 크기 계산 C언어를 하면 구조체를 초반부에 배우는데, 좀 더 깊게 들어가 본다. 아래 코드의 결과는? #include struct Temp{ double a; int b; char c; }; int main() { struct Temp temp; printf("struct size = %ld\n", sizeof(temp)); return 0; } park-duck.tistory.com 해결방법은 크기가 작은 멤버변수 순서로 선언하는 것이었는데, 그렇다고 char, double 순서로 놓는다고 해서 .. 프로그래밍/C,C++,C# 2023. 6. 4. [C,C++,C#] 구조체 메모리 크기 계산 C언어를 하면 구조체를 초반부에 배우는데, 좀 더 깊게 들어가 본다. 아래 코드의 결과는? #include struct Temp{ double a; int b; char c; }; int main() { struct Temp temp; printf("struct size = %ld\n", sizeof(temp)); return 0; } 결과는 16이다. 8(double) + 1(char) + 4(int) = 13으로 계산하였다면 잘못 알고 있는 것이다. 8로 기준을 잡고 순서대로 생성과정을 설명하자면, 1. double이 들어왔으니 8byte를 생성+8byte 할당 (구조체 총 크기: 8, 남은 공간: 0/8) 2. int가 들어왔으니 8byte를 생성+4byte 할당 (구조체 총 크기: 16, 남은 공.. 프로그래밍/C,C++,C# 2023. 6. 4. [C,C++,C#] 전처리 ##연산자 C계열에 ##연산자가 있다. ##의 의미는 "이어준다"라는 의미이다. 전처리이기 때문에 치환을 하고 컴파일을 하기 때문에 가능하다. 아래는 예제코드와 결과이다. 배열을 써서 for문을 사용하여 초기화하여도 되나, 배열을 사용하면 안 될 때가 있을 시(있는진 모르겠지만) 이런 방식도 있다. #define MAKE_VAR(n) int var_##n = 100+n; #define VAR_PRINT(n) printf("%d\n",var_##n); #include int main() { for(int i=0;i 프로그래밍/C,C++,C# 2023. 6. 4. [Git] 3. branch(1) 브랜치 목록 git branch (feature/master와 같이 애매모호한 이름으로 정하지 말자) 브랜치 세부 목록 git branch -v 브랜치 생성 git branch [브랜치 이름] 브랜치 이동 git checkout [branch 이름] 브랜치 생성&이동 git checkout -b [branch 이름] 브랜치 해시값(SHA1) 출력 git rev-parse [brnach 이름] 이전 브랜치 되돌리기 git checkout - 브랜치 특정 commit으로 이동 git checkout [commit hash] 브랜치 직전(상대 위치) commit 이동 git checkout HEAD~1 # 2개 이전은 HEAD~2 식으로 숫자만 바꾸면 됨 프로그래밍/Git 2023. 5. 31. [Jenkins] Git 변경 적용되지 않는 오류 해결 Jenkins를 사용하다 git checkout -b 인데, git branch -b로 오타가 나서 Git을 다시 push한 후 Jenkins를 돌렸으나 여전히 오류가 나는 상황. + git branch -b feature/feature error: unknown switch `b' Git을 확인해도, Jenkins의 git checkout을 확인해도 아무런 문제가 없었는데, Jenkins workspace를 확인해보니 수정전으로 남겨져있었다. Jenkins에서 Cache와 같은 개념이 있다고 한다. 그래서 수정이안된건데, Workspace를 삭제하는 방법이 있다. (rm -rf 명령어로 수행하기엔, 실수로 인해 애꿎은 파일만 날릴 수도있다.) 빌드환경에서 "Delete workspace before b.. 프로그래밍/Jenkins 2023. 5. 29. [Git] 계정 자동 로그인(feat. VSCode) vscode에서 push, pull, remote 등 명령어를 입력하면 Git 계정과 비밀번호를 묻는데, 계속 물어서 귀찮을 때가 많다. 아래 명령어는 로그인 정보를 요구할 때 한 번 입력하게 되면 그 정보를 저장하고 이후로는 로그인 정보를 묻지 않고 자동으로 인증한다. (해당 repository만 적용하고자하면 global옵션을 제외하자) git config --global credential.helper store # 또는 로그인 정보를 시간단위로 저장 # git config --global credential.helper 'cache --timeout 600' 아래 명렁어로 설정이 되어있는지 확인할 수 있다. git config --list 프로그래밍/Git 2023. 5. 29. [Git] 2. Commit (feat. log, diff) git commit --help git commit --help git stage area -> commit (commit시 -m은 --message의 약자 필수 옵션) git add . git commit -m "[메시지(로그)]" git add & git commit 동시에 git commit -am "[메시지(로그)]" 메시지가 없는 commit git commit --allow-empty-message -am "[메시지(로그)]" 수정 이력 없이 commit (push를 하고 싶으면 강제 푸시를 해야 하니 git pull 또는 이력을 보고 또 보고 push 할 것) git commit --ammand --no-edit git push -f git commit 기록 출력(시간 내림차순) git lo.. 프로그래밍/Git 2023. 5. 27. [Linux]Ubuntu WIFI or 랜카드 인식에러(feat. Kernel update) 어떤 상황에 이 글을 봐야 하냐면, 1. 노트북을 구매하여 Ubuntu를 설치하였는데 WIFI가 인식 안된다 2. 노트북을 구매했는데 LAN포트가 없다. 3. 결론적으로 인터넷을 사용하지 못하고 있다. 4. WIFI 뿐만 아니라 HDMI, 터치패드, 블루투스 등이 인식이 안될 경우 +) OS 설치 시에 네트워크 연결을 묻지 않는다. -> 애초에 랜카드를 인식하지 못해서 안 묻는 거다. 문제야 여러 가지일 수 있지만, 보통 위 상황이면 Network Driver랑 Kernel의 버전이 안 맞는 것이다. 즉 최신 노트북을 샀는데 Ubuntu 20.04, Ubuntu 18.04 버전을 설치했을 경우이다. 터미널에서 아래의 명령어를 입력해 보자. (상황에 따라 sudo 추가) ls /lib/firmware 만약.. 프로그래밍/Linux 2023. 5. 25. [Jenkins] SCM shell script 실행하기 shell script를 실행하려고 하는데 아래와 같이 파일을 찾을 수없는 Can't open sh file 오류가 발생. 그러나 분명 파일은 존재한다. /var/lib/jenkins/workspace/learn-git@tmp/durable-176732c7/script.sh: 1: .: Can't open ./source . 1_git_tracked.sh sh 1_git_tracked source 1_git_tracked source 1_git_tracked.sh 모두 안먹히고 오류가 발생했다. 방법은 동일 경로에 있다 가정하고 sh ". ./shell_script_file.sh" 를 입력한다. stages { stage('1_tracked') { steps { sh ". ./1_git_tracked.s.. 프로그래밍/Jenkins 2023. 5. 24. [Git] 1. Git stage (feat. tracked 상태란) tracked(추적 파일)란 Git의 추적 개념이다. 즉 untracked 상태라면 Git이 관리해주지 않는 상태, tracked는 Git이 관리하는 상태이다. 왜 이런 상태를 만들었냐 하면, 만약 Git이 자동으로 파일들을 관리한다 할 때, 무수히 많은 파일들을 관리하기엔 버거울 수 있고 프로젝트와 관련 없는 데이터까지 관리하기엔 비효율적이다. 그래서 사용자가 효율적으로 관리하기 위해 tracked(추적 파일)와 untracked(추적하지 않는 파일)로 나뉠 수 있다. Git이 관리하는 저장 공간을 Stage라 하는데, 임시 저장공간이라 할 수 있다. 즉, tracked 상태란 Stage에 등록된 파일이라 할 수 있다. 이후에 git push 등으로 Git의 형상관리를 위해서는 최종상태가 stage상태.. 프로그래밍/Git 2023. 5. 24. 이전 1 ··· 4 5 6 7 8 9 10 ··· 34 다음 반응형