繁体   English   中英

关于在亚马逊云ec2上设置git的虚拟问题

[英]Dummy questions about setting up git on amazon cloud ec2

首先,为我可能会抛出的虚假问题道歉。 如果你能指出我应该从哪里开始的指示,那将是很好的。

我完全不熟悉版本控制(以及git)和云系统。 但是,我必须在AWS EC2实例上开发基于php web的应用程序,并使代码对未来的开发人员有所贡献。

我成功创建了运行PHP / MySQL的EC2实例,并使用弹性IP映射域。 因此,该网站现在可通过端口80公开访问。

我还使用$sudo yum install git和configed user.name和user.email $sudo yum install git

然后,我去网站的根文件夹(例如public_html)并运行' git init '创建折叠“.git”,然后我使用“ git add . ”添加文件git add . “并提交” git commit -m 'initial upload'

这是正确的方法吗? 是否可以将项目文件夹放在/ public_html(可从任何人访问)。

如果上面没问题,那么我应该从哪里开始呢? 我想在EC2上运行git服务器,允许开发人员从他们的本地机器(例如Eclipse)连接,同时能够保持备份并比较代码之间的不同。

我想给开发人员什么细节,以便他们可以连接到git服务器并处理项目?

我快速指导或几个关键词做更多的研究会有所帮助。

在这里查看有关在amazon ec2上设置git的更多信息

允许开发人员使用你的git,你只需要给他们git服务器的URL。

直接引用我链接到的网站。

“首先,您需要将您的EC2身份添加到ssh身份验证代理。这可以防止以后出现git问题,即在尝试向EC2存储库执行git推送时获取错误”Permission denied(publickey)。“。

 ssh-add path/to/privateEC2key.pem 

现在,您可以继续在EC2实例上创建git存储库。

 ssh username@hostname.com mkdir the_project.git cd the_project.git git init --bare 

所以在这里进行的不多,我们所做的只是创建一个空的存储库,然后离开。 现在,在本地计算机上,您执行以下操作:

 cd the_project git init git add . git commit -m "Initial git commit message" git remote add origin username@hostname.com:the_project.git git config --global remote.origin.receivepack "git receive-pack" git push origin master 

'git config'命令是我发现必须能够推送到EC2存储库的修复。“

Alex提到的链接为在ec2上设置git提供了一个很好的起点。 但我遵循了这里提到的一种不同的方法。 链接 从页面直接引用:

“使用没有PEM密钥的SSH连接”:所以要么添加ec2私钥并将其作为实体添加到ssh身份验证代理中,要么为您的用户创建一个新的ssh密钥并使用它。 要遵循的步骤是:

创建SSH密钥

首先,您需要导航到本地计算机上的.ssh文件夹:

cd
cd .ssh

如果此文件夹不存在,请使用mkdir进行创建。

进入本地计算机上的ssh文件夹后,应该在/Users/yourusername/.ssh中执行以下操作生成密钥。

ssh-keygen -t rsa -b 1024

当提示输入文件名保存密钥时输入id_rsa_aws,当提示输入密码时留空。

在.ssh目录中,执行以下命令并将输出复制到以后粘贴。

cat id_rsa_aws.pub

现在使用您的PEM密钥连接到您的AWS实例

ssh -i path/to/yourkeyname.pem ubuntu@xx.xxx.xxx.xxx

曾在

echo 'the key you copied from id_rsa_aws.pub' >> .ssh/authorized_keys
chmod 640 .ssh/authorized_keys
chmod 750 .ssh

现在你去你的机器并输入

cd desired directory
git clone ubuntu@xx.xxx.xxx.xxx:<path_to_your_just_created_git_server>

如果您执行了上述所有步骤,那么您可能会收到的唯一警告就是

warning: You appear to have cloned an empty repository.

没关系。 现在,您可以将所有代码复制到克隆目录中,并按照以下步骤操作:

git add . 
git commit -m "Initial commit"
git push origin master // If working on master branch

我创建了一个GitHub的要点,所有细节都希望它有所帮助https://gist.github.com/eslam-mahmoud/35777e4382599438023abefc9786a382

//add your EC2 .pem file to ssh kys
ssh-add ~/aws/mypemfile.pem 

//create bare repo on AWS EC2 webserver and deploy on demand
mkdir ~/git/the_project 
cd ~/git/the_project
git init --bare

//create local repo and track remote one
cd ~/git/the_project 
git init
git add . 
git commit -m "Initial git commit message" 
git remote add aws ubuntu@1.1.1.1:~/git/the_project 
git config --global remote.origin.receivepack "git receive-pack" 
git push aws master
//create tag
git tag -a v0.1 -m "my version 0.1"
//push tags
git push aws --tags

//Or you have one so you push your updates 
git remote add aws ubuntu@1.1.1.1:~/git/the_project 
git config --global remote.origin.receivepack "git receive-pack" 
git push aws master
//create tag
git tag -a v0.1 -m "my version 0.1"
//push tags
git push aws --tags

//on server create another local repo that track the bare one to deploy
git clone ~/git/the_project
cd ./the_project
//checkout tag
git checkout v0.1
//install clear cache ...
npm install

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM