etckeeper가 생성한 저장소를 원격 Gitlab 서버에 푸시해 보세요.

etckeeper가 생성한 저장소를 원격 Gitlab 서버에 푸시해 보세요.

etckeeper를 사용하고 있는데 좋은 제품인 것 같습니다. 나는 이것을 로컬 /etc 파일 시스템을 추적하는 데만 사용하지만 최근에는 중앙 Gitlab 저장소를 만들고 거기에 모든 노드 /etc 저장소를 저장하는 아이디어를 생각해 냈습니다.

문제는 내가 이것을 어떻게 할 수 있는가이다.

etckeeper 구성에 PUSH_REMOTE=""라는 변수가 있다는 것을 알았습니다. 그런데 각 서버마다 별도의 저장소를 만들어야 합니까, 아니면 하나의 저장소를 사용하고 그 안의 모든 서버를 결합할 수 있습니까? 아마도 지점을 사용할 수 있을까요? 아니면 다른 폴더인가요?

어떤 제안이라도 환영합니다. 수동으로 수행하려고 시도하고 작동하는 경우 Puppet 또는 Ansible을 통해 자동화된 방식으로 수행하는 방법을 고려할 것입니다.

미리 감사드립니다.

답변1

해결책을 찾은 것 같아요. 이전에 분기에 대해 언급했듯이 이것이 내가 원하는 것을 달성하는 가장 쉬운 방법이라는 것을 알았습니다.

그래서 저는 몇 가지 간단한 단계를 수행했습니다.

  1. Gitlab 인스턴스와 통신할 수 있도록 SSH RSA 키 쌍을 만들었습니다.
  2. 내 시스템에 etckeeper 및 git 패키지가 설치되어 있습니다. (Ubuntu/Debian 시스템의 경우 로컬 저장소가 자동으로 생성됩니다.) RedHat 시스템의 경우 /etc 디렉터리에서 etckeeper init를 사용하여 저장소를 생성해야 합니다.
  3. /etc/etckeeper/etckeeper.conf에서 PUSH_REMOTE="origin" 변수로 "origin"을 추가했습니다.
  4. 저장소가 완료되면(git status 를 사용하여 확인할 수 있음) 머신의 FQDN 이름이라는 로컬 브랜치를 생성하고 git checkout -b test.home.lan을 사용하여 해당 브랜치로 전환했습니다.
  5. 그런 다음 git remote add <gitlab_url>을 사용하여 원격 저장소를 로컬 git 클라이언트에 추가합니다.
  6. 마지막으로 git push --set-upstream Origin test.home.lan을 사용하여 로컬 지점과 원격 지점 간의 동기화 연결을 설정합니다.

이 접근 방식을 사용하면 각 노드에 자체 분기가 있습니다.

이것이 누군가에게 도움이 되기를 바랍니다.

관련 정보