You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
82 lines
2.8 KiB
Markdown
82 lines
2.8 KiB
Markdown
# scm-setup
|
|
|
|
***Source Control Server Preparation***
|
|
|
|
**Pre-requisite**
|
|
|
|
1. ssh client (built-in on Windows 10. Preinstall with Git installation). For windows 7 alternative, try [Putty](https://www.putty.org/)
|
|
```shell
|
|
# use windows package manager
|
|
$ winget install PuTTY.PuTTY
|
|
```
|
|
|
|
2. [git](https://git-scm.com/)
|
|
```shell
|
|
# use windows package manager
|
|
$ winget install Git.Git
|
|
```
|
|
|
|
3. [TortoiseGit](https://tortoisegit.org/)
|
|
```shell
|
|
# use windows package manager
|
|
$ winget install TortoiseGit.TortoiseGit
|
|
```
|
|
|
|
4. [Tailscale](https://tailscale.com/)
|
|
```shell
|
|
# use windows package manager
|
|
$ winget install tailscale.tailscale
|
|
```
|
|
---
|
|
**Configuration**
|
|
1. setup sshkey. Run below to generate the private / public key.
|
|
- [Tutoria](https://git-scm.com/book/en/v2/Git-on-the-Server-Generating-Your-SSH-Public-Key)
|
|
- [Tutorial Windows 10](https://phoenixnap.com/kb/generate-ssh-key-windows-10)
|
|
- [SSH key-pair](https://www.techtarget.com/searchsecurity/tutorial/Use-ssh-keygen-to-create-SSH-key-pairs-and-more)
|
|
```shell
|
|
$ ssh-keygen
|
|
```
|
|
2. Pass the `c:\users\<username>\.ssh\id_rsa.pub` to administrator to authorise the access to server (xxx.xxx.xxx.xxx)
|
|
```shell
|
|
# from ubuntu shell
|
|
$ ssh-copy-id -i ~/.ssh/id_rsa.pub mitpenang@xxx.xxx.xxx.xxx/home/mitpenang/.ssh/authorized_keys
|
|
|
|
# from powershell
|
|
PS c:> type $env:USERPROFILE\.ssh\id_rsa.pub | ssh mitpenang@xxx.xxx.xxx.xxx "cat >> .ssh/authorized_keys"
|
|
```
|
|
|
|
3. Setup Tailscale. Need remote access to administrator to do first login. Please install [AnyDesk](https://anydesk.com/en) to facilitate remote access
|
|
4. Setup `c:\Windows\System32\Drivers\etc\hosts` file. Install [PowerToys](https://learn.microsoft.com/en-us/windows/powertoys/). Add the following entry to host file
|
|
```txt
|
|
|
|
127.0.0.1 dev.mitech.com.sg # Test Eng Server
|
|
|
|
```
|
|
5. Setup git profile [configuration](https://git-scm.com/book/en/v2/Getting-Started-First-Time-Git-Setup)
|
|
```shell
|
|
$ git config --global user.name "John Doe"
|
|
$ git config --global user.email johndoe@example.com
|
|
|
|
# setup default branch name as `main`
|
|
$ git config --global init.defaultBranch main
|
|
|
|
# Checking the settings
|
|
$ git config --list
|
|
```
|
|
|
|
---
|
|
**Accessing the server**
|
|
1. Establish ssh port forwarding. Open a command prompt. Run below command. The ssh IP address can be found from Tailscale console
|
|
```shell
|
|
$ ssh -L 3000:172.16.16.2:3000 -L 29419:172.16.16.2:29419 mitpenang@100.72.57.125
|
|
```
|
|
|
|
2. Open Chrome. Browse to Source Control Server [Mitech : Gitea](http://dev.mitech.com.sg:3000)
|
|
3. Setup Gitea repo SSH access. [Reference from Github]](https://jdblischak.github.io/2014-09-18-chicago/novice/git/05-sshkeys.html)
|
|
4. To clone, use `git ssh://...`
|
|
|
|
---
|
|
**Git**
|
|
1. [Documentation](https://git-scm.com/doc)
|
|
2. [GitHub Flow Branching Strategy](https://www.flagship.io/git-branching-strategies/)
|
|
 |