지난 주까지 멀쩡하게 쓰던 github가 갑자기 오류를 내며 push가 되지 않았다. 이래저래 알아보니 21.08.13 (금)부터  ID/PW 방식에서 personal access token방식으로 변경이 되었다고 한다.

토큰 인증 방법 순서

프로필 클릭 후 Settings 클릭 -> 왼쪽 메뉴의 Developer settings 클릭 

Personal access tokens 클릭 -> Generate new token 선택

자기가 사용할 토큰 권한에 맞게 셋팅.

토큰 발행완료.
발행된 토큰은 생성 후 복사해놓고 다른데 저장해놔야 함.

참고 블로그 : https://curryyou.tistory.com/344 

이제 github 키를 만들었으니 STS(이클립스) 에 적용하는 법은 다음과 같다.

이클립스의 window - preference

General - Security - Secure Storage 까지 들어와서
contents탭의 GIT을 선택한다. 그럼 현재 내 GITHUB ID/PW가 저장돼 있다. 그럼 Delete를 눌러 과감하게 삭제 후 자동 restart됨.

이클립스 재부팅 후 push를 하려고 하면 ID/PW를 입력하라고 나오는데 이 때 PW에다가 아까 생성한 key를 넣어주면 된다.

Posted by 知彼知己百戰不殆
,

프로젝트 Team -> Share Project 선택

Use or create repository in parent folder of project 체크

밑에 Create Repository가 활성화되면 버튼 눌러줌.

이제 git staging에서 프로젝트를 push해주면 끝

Posted by 知彼知己百戰不殆
,

기존 git 소스 추가 후 project import 시 clone 후 바로 import로 추가하였다.

(실수1) clone 후 import 프로젝트
(뻘짓1) Gradle 설정

스프링부트 실행 시 Error occurred during initialization of boot layer
java.lang.LayerInstantiationException: Package jdk.internal.jimage.decompressor in both module jrt.fs and module java.base 오류 발생.

구글링 하니 spring 프로젝트는 clone 후 import 하는 방법이 조금은 달랐다.

빨간 표시의 Directory 경로를 잘 기억해야한다.

git Clone 확인 후

오른쪽 상단의 package Explorer을 눌러준다.

package Explorer로 돌아왔으면 File -> Import 클릭.

Gradle -> Existing Gradle Project 선택

소스가 있는 폴더 선택

Project root Directory를 clone경로의 소스 폴더랑 똑같이 맞춰준다.

Spring Boot App 구동 창이 나왔다.

Spring Boot 구동 성공

Posted by 知彼知己百戰不殆
,

[svn 설치]

먼저 subversion(svn)을 설치하자.

[root]$ yum install subversion

[svn 설정 - 필수 설정]

사용자 계정 svn을 생성하고, svn 저장소를 생성하자. 
아래의 경우 저장소(repository는 /svn 이다.

[root]$ mkdir /svn
[root]$ chown -R root:root /svn

그리고 프로젝트폴더를 생성하자. 아래의 경우 프로젝트 이름이 repos가 된다.

[root]$ svnadmin create --fs-type fsfs /svn/repos

권한을 설정하자. /svn/repos/conf/svnserve.conf 의 주석을 제외한 부분이 아래와 같아야 한다.,

realm 은 리파지토리의 도메인명(외부에서 볼 때의 이름)이라고 할 수 있다.


[general]
anon-access = none
auth-access = write
password-db = passwd
# authz-db = authz
realm = bage ###일단 local에서만 돌릴 거라서 localhost라고 설정
[sasl]
# use-sasl = true
#min-encryption = 0
#max-encryption = 256

계정을 추가하자. /svn/repos/conf/passwd 의 내용을 모두 지우고, 아래처럼 입력. 
아래의 경우 id는 bage 이며, 암호는 xxxxx 가 된다.

[users]
bage= xxxxx

* 만약 개인용 서버가 아니라면 sasl을 이용하여 인증하는 방식을 이용하자. 왜냐햐면 passwd 방식(위 방식)은 암호를 누구나 확인할 수 있어서 내 리파지토리에 다른 사람이 접근할 가능성이 높기 때문이다.


설정을 모두 끝냈으면 포트 설정 iptables -I INPUT -p tcp --dport 3690 -j ACCEPT


설정이 완료되고 svn checkout svn://(사용자 도메인...테스트는 localhost)/repos 으로 접속하면 ID와 비밀번호를 입력하여 성공하면 "checked out revision 0" 이 나온다. 접속하고 에러가 나오면 ####killall svnserve 입력!!


아래와 같은 메세지가 뜨면 NO를 선택!!

우분투(리눅스) 시스템은 원격으로 접속하여 작업을 수행할 때가 많다. 원격접속으로 작업후 해당 소스를 커밋하면 다음과 같은 문구가 뜬다.

인증 영역(realm): <svn://xxx.xxx.xxx.xxx:3690> xxxxxxxx-xxxx-xxxx-xxxxxxxxxxxxxxxxx
'xxxxx'의 암호: 
-----------------------------------------------------------------------
ATTENTION!  Your password for authentication realm:
   <svn://xxx.xxx.xxx.xxx:3690> xxxxxxxx-xxxx-xxxx-xxxxxxxxxxxxxxxxx
can only be stored to disk unencrypted!  You are advised to configure
your system so that Subversion can store passwords encrypted, if
possible.  See the documentation for details.
You can avoid future appearances of this warning by setting the value
of the 'store-plaintext-passwords' option to either 'yes' or 'no' in
'/home/xxxxx/.subversion/servers'.
-----------------------------------------------------------------------
Store password unencrypted (yes/no)?

올 바른 암호를 입력한 다음 "Store password unencrypted (yes/no)?" 문장에서 yes 또는 no를 아무리 입력을해도 다음으로 진행되지 않는다. 로컬에서 작업시에는 yes를 입력하면 올바르게 커밋을 하지만 원격에서 접속시에는 커밋을 하지 않는 않는다.

원격 접속시 커밋되지 않는 문제를 해결하기 위해서 위에서 제시한 방법으로 해결하였다. 사용자 홈디렉토리에 있는 .subversion/servers 파일을 다음과 같이 편집기로 연다.




Posted by 知彼知己百戰不殆
,

git config user.email "you@example.com"

git config user.name "Your name"

추가해주면 된다

Posted by 知彼知己百戰不殆
,