- Обновлено название проекта во всех файлах - Изменена документация (README.md, docs/*.md) - Обновлены конфигурационные файлы (Makefile, env.example) - Изменены CI/CD файлы (GitHub Actions, Azure DevOps, Jenkins) - Обновлены скрипты и Dockerfile - Изменено название в molecule.yml и dockerfiles/README.md Все ссылки и упоминания проекта теперь используют название AnsibleLab
		
			
				
	
	
		
			104 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			104 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
| #!/bin/bash
 | |
| # Автоматическая настройка CI/CD для AnsibleLab
 | |
| # Автор: Сергей Антропов
 | |
| # Сайт: https://devops.org.ru
 | |
| 
 | |
| set -euo pipefail
 | |
| 
 | |
| echo "🔧 Настройка CI/CD для AnsibleLab..."
 | |
| 
 | |
| # Создание директории .github/workflows
 | |
| mkdir -p .github/workflows
 | |
| 
 | |
| # Создание базового workflow для GitHub Actions
 | |
| echo "📝 Создание GitHub Actions workflow..."
 | |
| cat > .github/workflows/ansible-test.yml << 'EOF'
 | |
| name: Ansible Testing
 | |
| on: [push, pull_request]
 | |
| 
 | |
| jobs:
 | |
|   lint:
 | |
|     runs-on: ubuntu-latest
 | |
|     steps:
 | |
|       - uses: actions/checkout@v4
 | |
|       - name: Setup Python
 | |
|         uses: actions/setup-python@v4
 | |
|         with:
 | |
|           python-version: '3.11'
 | |
|       - name: Install dependencies
 | |
|         run: |
 | |
|           pip install ansible ansible-lint
 | |
|           ansible-galaxy collection install -r requirements.yml
 | |
|       - name: Run lint
 | |
|         run: make role lint
 | |
| 
 | |
|   test:
 | |
|     runs-on: ubuntu-latest
 | |
|     needs: lint
 | |
|     strategy:
 | |
|       matrix:
 | |
|         preset: [minimal, default, performance]
 | |
|     steps:
 | |
|       - uses: actions/checkout@v4
 | |
|       - name: Setup Docker
 | |
|         run: |
 | |
|           sudo systemctl start docker
 | |
|           sudo usermod -aG docker $USER
 | |
|       - name: Run tests
 | |
|         run: make role test ${{ matrix.preset }}
 | |
| 
 | |
|   deploy-check:
 | |
|     runs-on: ubuntu-latest
 | |
|     needs: [lint, test]
 | |
|     if: github.ref == 'refs/heads/main'
 | |
|     steps:
 | |
|       - uses: actions/checkout@v4
 | |
|       - name: Check deployment
 | |
|         run: make role deploy
 | |
|         env:
 | |
|           ANSIBLE_HOST_KEY_CHECKING: false
 | |
| EOF
 | |
| 
 | |
| # Создание Azure DevOps pipeline
 | |
| echo "📝 Создание Azure DevOps pipeline..."
 | |
| cat > azure-pipelines.yml << 'EOF'
 | |
| trigger:
 | |
| - main
 | |
| pool:
 | |
|   vmImage: 'ubuntu-latest'
 | |
| stages:
 | |
| - stage: Test
 | |
|   jobs:
 | |
|   - job: TestJob
 | |
|     steps:
 | |
|     - script: make role test
 | |
| EOF
 | |
| 
 | |
| # Создание Jenkinsfile
 | |
| echo "📝 Создание Jenkinsfile..."
 | |
| cat > Jenkinsfile << 'EOF'
 | |
| pipeline {
 | |
|     agent any
 | |
|     stages {
 | |
|         stage('Test') {
 | |
|             steps {
 | |
|                 sh 'make role test'
 | |
|             }
 | |
|         }
 | |
|     }
 | |
| }
 | |
| EOF
 | |
| 
 | |
| # Создание GitLab CI
 | |
| echo "📝 Создание GitLab CI..."
 | |
| cat > .gitlab-ci.yml << 'EOF'
 | |
| stages:
 | |
|   - test
 | |
| test:
 | |
|   stage: test
 | |
|   script:
 | |
|     - make role test
 | |
| EOF
 | |
| 
 | |
| echo "✅ CI/CD настроен"
 |