在 CentOS 上将 Ansible 项目推送到 GitHub 的完整指南

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 git@github.com

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 git@github.com: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

检查文件和目录是否正确显示。

相关推荐
岁岁岁平安2 分钟前
CentOS-7-x86_64解决:使用NAT模式无法ping通www.baidu.com或无法ping 8.8.8.8问题。
linux·运维·centos·centos-7
独立开阀者_FwtCoder3 分钟前
放弃 JSON.parse(JSON.stringify()) 吧!试试现代深拷贝!
前端·javascript·github
网硕互联的小客服17 分钟前
如何排查服务器中已经存在的后门程序?
运维·服务器·github
橘黄的猫2 小时前
深入浅出掌握 Git 子模块:项目管理利器
前端·github
独立开阀者_FwtCoder3 小时前
Vite Devtools 要发布了!期待
前端·面试·github
魂尾ac4 小时前
Centos Docker 安装(100%成功)
linux·docker·centos
天若有情6734 小时前
【Linux】02_CentOS 7 开机运行级别详解:从基础概念到实战配置
linux·运维·centos
HelloGitHub5 小时前
从被喷“假开源”到登顶 GitHub 热榜,这个开源项目上演王者归来!
开源·github
wuk99814 小时前
基于MATLAB编制的锂离子电池伪二维模型
linux·windows·github
DuelCode14 小时前
Windows VMWare Centos Docker部署Springboot 应用实现文件上传返回文件http链接
java·spring boot·mysql·nginx·docker·centos·mybatis