108 lines
3.2 KiB
Markdown
108 lines
3.2 KiB
Markdown
# GitLab Migration Instructions
|
|
|
|
This document provides instructions for completing the migration of the TasmotaManager project to GitLab at 192.168.5.10.
|
|
|
|
## Completed Steps
|
|
|
|
The following steps have already been completed:
|
|
|
|
1. Git repository initialized in the TasmotaManager directory
|
|
2. `.gitignore` file created to exclude sensitive files:
|
|
- `network_configuration.json` (contains credentials)
|
|
- Data files with network information (`current.json`, `deprecated.json`, `TasmotaDevices.json`)
|
|
- Backup files
|
|
3. `README.md` file created with project documentation
|
|
4. Non-sensitive files added and committed to the local Git repository:
|
|
- `TasmotaManager.py`
|
|
- `.gitignore`
|
|
- `README.md`
|
|
|
|
## Remaining Steps
|
|
|
|
To complete the migration to GitLab, follow these steps:
|
|
|
|
### Option 1: Create a new repository in GitLab
|
|
|
|
1. Log in to GitLab at http://192.168.5.10
|
|
2. Navigate to the Manager project/group
|
|
3. Create a new project named "TasmotaManager"
|
|
4. Follow the instructions provided by GitLab to push an existing repository:
|
|
|
|
```bash
|
|
# If using HTTP
|
|
git remote add gitlab http://192.168.5.10/Manager/TasmotaManager.git
|
|
git push -u gitlab inital
|
|
|
|
# If using SSH
|
|
git remote add gitlab git@192.168.5.10:Manager/TasmotaManager.git
|
|
git push -u gitlab inital
|
|
```
|
|
|
|
### Option 2: Add as a subproject to the existing Manager project
|
|
|
|
If TasmotaManager should be a subproject or subdirectory within the Manager project:
|
|
|
|
1. Clone the Manager project:
|
|
```bash
|
|
git clone http://192.168.5.10/Manager.git
|
|
```
|
|
|
|
2. Create a TasmotaManager directory within the Manager project:
|
|
```bash
|
|
cd Manager
|
|
mkdir TasmotaManager
|
|
```
|
|
|
|
3. Copy the files from the local TasmotaManager repository:
|
|
```bash
|
|
cp /home/mgeppert/git_work/scripts/TasmotaManager/TasmotaManager.py TasmotaManager/
|
|
cp /home/mgeppert/git_work/scripts/TasmotaManager/.gitignore TasmotaManager/
|
|
cp /home/mgeppert/git_work/scripts/TasmotaManager/README.md TasmotaManager/
|
|
```
|
|
|
|
4. Add, commit, and push the changes:
|
|
```bash
|
|
git add TasmotaManager
|
|
git commit -m "Add TasmotaManager as a subproject"
|
|
git push
|
|
```
|
|
|
|
### Option 3: Add as a Git submodule
|
|
|
|
If TasmotaManager should be maintained as a separate repository but included in the Manager project:
|
|
|
|
1. First, create the TasmotaManager repository in GitLab (see Option 1)
|
|
2. Clone the Manager project:
|
|
```bash
|
|
git clone http://192.168.5.10/Manager.git
|
|
```
|
|
|
|
3. Add the TasmotaManager as a submodule:
|
|
```bash
|
|
cd Manager
|
|
git submodule add http://192.168.5.10/TasmotaManager.git TasmotaManager
|
|
git commit -m "Add TasmotaManager as a submodule"
|
|
git push
|
|
```
|
|
|
|
## Configuration Files
|
|
|
|
Remember that sensitive configuration files are excluded from version control. After cloning or setting up the repository, you'll need to:
|
|
|
|
1. Create a `network_configuration.json` file with your UniFi Controller and MQTT settings
|
|
2. Run the script to generate the data files:
|
|
```bash
|
|
python TasmotaManager.py
|
|
```
|
|
|
|
## Troubleshooting
|
|
|
|
If you encounter authentication issues when pushing to GitLab:
|
|
|
|
1. Ensure you have the correct access rights to the repository
|
|
2. Try using a personal access token instead of password authentication:
|
|
```bash
|
|
git remote set-url gitlab http://username:token@192.168.5.10/Manager/TasmotaManager.git
|
|
```
|
|
|
|
3. If using SSH, ensure your SSH key is added to your GitLab account |