WSLサブシステムは、Dockerを介してgitlabプライベートサーバーをインストールし、gitlabプライベートサーバーウェアハウスのgitee外部ネットワークウェアハウスへの転送をサポートします(送信記録を保持します)

WSLサブシステムは、Dockerを介してgitlabプライベートサーバーをインストールし、gitlabプライベートサーバーウェアハウスのgitee外部ネットワークウェアハウスへの転送をサポートします(送信記録を保持します)

周囲

win10のWSLサブシステム、サブシステムバージョン番号:Ubuntu 20.04

Dockerバージョン:19.03.12、AlibabaCloudイメージアクセラレーションが設定されています

gitlabバージョン:gitlab-ce:11.0.1-ce.0

WSLサブシステムファイアウォールが閉じている

画像ファイルをダウンロードする

docker pull beginor/gitlab-ce:11.0.1-ce.0

マウントディレクトリを作成します

将来のアップグレードを容易にするために、コンテナーの外部でgitlabの構成(etc)、ログ(log)、およびデータ(data)を作成するため、最初にこれら3つのディレクトリーを準備してください。

mkdir -p /mnt/gitlab/etc
mkdir -p /mnt/gitlab/log
mkdir -p /mnt/gitlab/data

gitlabコンテナを実行する

docker run \
    --detach \
    --publish 8443:443 \
    --publish 8090:80 \
    --publish 4222:22 \
    --name gitlab \
    --restart unless-stopped \
    -v /mnt/gitlab/etc:/etc/gitlab \
    -v /mnt/gitlab/log:/var/log/gitlab \
    -v /mnt/gitlab/data:/var/opt/gitlab \
    beginor/gitlab-ce:11.0.1-ce.0 

新しいgitlabマウントディレクトリを作成する場合、マウントディレクトリはすべて空のフォルダです。gitlabコンテナを実行した後、マウントディレクトリに対応するファイルがあります。このとき、gitlabコンテナーを停止してから、gitlabコンテナーを削除する必要があります。

gitlab構成を変更する

/mnt/gitlab/etc/gitlab.rbを変更し、external_urlをデプロイメントマシンのドメイン名またはIPアドレスに変更します。mavenプライベートサーバーを構築するときに、WSLサブシステムはipを使用できず、localhostのみを使用できるため、コマンドは次のとおりです。

vi /mnt/gitlab/etc/gitlab.rb
external_url 'http://localhost'
#这里还一个问题,external_url不能带上端口,不知道是不是WSL子系统问题
#进而导致通过http地址克隆项目时,地址上也少了端口,需要自己补上,或者用浏览器地址栏的地址末尾加上.git

/mnt/gitlab/data/gitlab-rails/etc/gitlab.ymlを変更し、キーワード「Webサーバー設定」を検索し、ホスト値をマップされた外部ホストのIPアドレスとポートに変更します。ここでの構成は、 gitlabウェアハウスのクローンアドレス。ポートを変更することは実際には役に立ちません。コンテナを起動するたびに、自動的に80になりますが、Webアクセス、コードダウンロードの送信などにはまったく影響しません。
ここに画像の説明を挿入

この時点で、構成が変更され、dockerを再起動して(sudo service docker restart)、gitlabコンテナーを再実行します。コンテナーが正常に開始されると、gitlabWeb管理ページにアクセスできます。ブラウザにhttp:// localhost:8090 /と入力します。最初のアクセスでは、システムプロンプトに従ってrootアカウントのパスワードをリセットします。

gitlab create project

ここに画像の説明を挿入

プロジェクトの作成後、次のプロンプトに従って、プロジェクトのクローンを作成するか、ローカルプロジェクトをリモートウェアハウスに関連付けることができます。

コマンドライン命令

  • Gitのグローバル設定
git config --global user.name "Administrator"
git config --global user.email "[email protected]"
  • 新しいリポジトリを作成する
git clone git@localhost:4222/root/test.git
cd test
touch README.md
git add README.md
git commit -m "add README"
git push -u origin master
  • 既存のフォルダ
cd existing_folder
git init
git remote add origin git@localhost:4222/root/test.git
git add .
git commit -m "Initial commit"
git push -u origin master
  • 既存のGitリポジトリ
cd existing_repo
git remote rename origin old-origin
git remote add origin git@localhost:4222/root/test.git
git push -u origin --all
git push -u origin --tags

gitlab configure ssh key

gitリポジトリのクローンを作成するhttpメソッドに加えて、sshメソッドを使用することもできます。sshメソッドを設定する必要があるのは1回だけなので、コードを送信するたびにユーザー名とパスワードを入力する必要がありません。

  • git-bashをインストールすると、以降のすべての操作はgit-bashで実行されます

  • ローカルキーを確認してください

cd ~/.ssh
ll
#如果目录下有id_rsa和id_rsa.pub文件,则可以跳过生成密钥信息步骤
  • 重要な情報を生成する
ssh-keygen -t rsa -C "[email protected]"
#一路Enter就行
  • gitlab追加キー
cd ~/.ssh
cat id_rsa.pub
#把公钥复制到剪切板

ブラウザでgitlabページを開き、ログインして、ユーザープロファイル画像をクリックし、[設定]をクリックし、左側のメニューバーで[SSHキー]をクリックすると、次のページが表示されます。この時点で、クリップボードのコンテンツを入力ボックスに貼り付けます。次に、[キーの追加]をクリックします。それだけです。
ここに画像の説明を挿入

  • sshはプロジェクトのクローンを作成します

ディレクトリをランダムに切り取り、git clone ssh:// git @ localhost:4222 / root / test.gitと入力してクローンを作成します。最初の操作では、接続を確認するためにyesと入力する必要があります。その後、新しいプロジェクトのクローンを直接操作できます。 。

gitlabプライベートサーバープロジェクトは、giteeなどのパブリックネットワークウェアハウスに移行されます

パブリックネットワークプロジェクトを独自のgitlabサーバーに移行したり、gitlabウェアハウス内のプロジェクトをオープンソースのgiteeなどのパブリックネットワークに移行したりする必要がある場合がありますが、コードをアップロードするだけではコードに魂がないため、移行する場合提出記録をまとめると、具体的な操作は次のようになります。

  • 元のアドレスからベアリポジトリのクローンを作成します
#先切到一个空目录,所有操作通过git-bash完成
git clone --bare http://localhost:8090/root/test.git
  • 新しいgitサーバーで新しいプロジェクトを作成します
  • プッシュをミラーリングして、新しいプロジェクトにコードをアップロードします
cd test.git
git push --mirror gitee新仓库地址

この時点で、プロジェクトは移行されました。新しいウェアハウスアドレスからプロジェクトのクローンを作成するだけです。

プロジェクトが正常に移行された後、実際にはgit cloneを使用せずに、古いプロジェクトターミナルにコマンドを直接入力して、ローカルコードのリモートウェアハウスを新しいウェアハウスアドレスに切り替えることができます。

git remote set-url origin gitee新仓库地址

おすすめ

転載: blog.csdn.net/l229568441/article/details/113807232