1. 安装 Git
在 CentOS 中使用 yum 安装 Git,Git 是管理代码版本控制的工具:
bash
sudo yum install git -y
2. 配置 Git 用户信息
设置你的 Git 用户名和邮箱,这些信息会出现在你每次提交的记录中:
bash
git config --global user.name "lifeng200577"
git config --global user.email "你的GitHub邮箱"
3. 生成 SSH 密钥并绑定到 GitHub
推荐使用 SSH 密钥方式登录 GitHub,避免每次都输入用户名密码。
3.1 生成 SSH 密钥(一路回车):
bash
ssh-keygen -t ed25519 -C "你的GitHub邮箱"
3.2 查看并复制生成的公钥内容:
bash
cat ~/.ssh/id_ed25519.pub
3.3 登录 GitHub 添加公钥:
登录 GitHub
点击头像 → Settings → SSH and GPG keys → New SSH key
Title 随便填写,例如 Ansible
粘贴上面的公钥内容
3.4 测试 SSH 是否连接成功:
bash
ssh -T [email protected]
4. 创建本地项目结构并初始化 Git 仓库
bash
以 ansible 项目为例:
mkdir -p ~/ansible-projects
cd ~/ansible-projects
ansible-galaxy init ansible-role-nginx
ansible-galaxy init ansible-role-mysql
或将已有项目复制过来:
cp -r /root/ansible-role-nginx ./
git init
5. 连接远程 GitHub 仓库
假设你已经在 GitHub 上创建好了名为 ansible-projects 的仓库。
bash
git remote add origin [email protected]:lifeng200577/ansible-projects.git
6. (可选)添加 .gitignore 文件
用于忽略临时文件,避免上传不必要的内容:
bash
cat <<EOF > .gitignore
*.retry
*.log
*.swp
EOF
7. 提交并推送代码到 GitHub 仓库
将所有文件添加并推送到 GitHub:
bash
git add .
git commit -m "init: 添加 Ansible 角色项目(nginx, mysql)"
git branch -M main
git push -u origin main
8. 后续添加新角色目录
每次新增角色目录后重复如下操作即可:
bash
ansible-galaxy init ansible-role-redis
git add ansible-role-redis
git commit -m "feat: 添加 redis 角色"
git push origin main
9. 仓库结构推荐
最终 GitHub 上的仓库目录结构建议如下:
ansible-projects/
├── ansible-role-nginx/
├── ansible-role-mysql/
├── ansible-role-redis/
├── .gitignore
└── README.md
10. 添加 site.yml 入口文件(可选)
用于统一定义多个角色在不同主机组中的运行顺序:
bash
- hosts: webservers
roles:
- ansible-role-nginx
- hosts: dbservers
roles:
- ansible-role-mysql
11. 验证仓库推送结果
浏览器打开:
https://github.com/lifeng200577/ansible-projects
检查文件和目录是否正确显示。