1. 生成公钥
公钥有两个:1. git用户公钥,2. 部署公钥:
git用户公钥
ssh-keygen -t rsa -C "admin@xsooo.com"
# 然后一直回车就行
# 生成的文件通常是 /root/.ssh/id_rsa,如果非root用户请查看提示上的路径
1
2
3
ssh-keygen -t rsa -C "admin@xsooo.com"
# 然后一直回车就行
# 生成的文件通常是 /root/.ssh/id_rsa,如果非root用户请查看提示上的路径
部署公钥
sudo -Hu www ssh-keygen -t rsa # 请选择 “no passphrase”,一直回车下去
2. 准备钩子文件
创建和修改目录权限:
mkdir /home/wwwroot/website.com/hook
chown -R www:www /home/wwwroot/website.com/hook
1
2
mkdir /home/wwwroot/website.com/hook
chown -R www:www /home/wwwroot/website.com/hook
写入钩子文件:
sudo -Hu www touch /home/wwwroot/website.com/hook/index.php
1
sudo -Hu www touch /home/wwwroot/website.com/hook/index.php
?php
error_reporting(1);
$target = '/home/wwwroot/website.com'; // 生产环境web目录
$token = '您在coding填写的hook令牌';
$wwwUser = 'www';
$wwwGroup = 'www';
$json = json_decode(file_get_contents('php://input'), true);
if (empty($json['token']) || $json['token'] !== $token) {
exit('error request');
}
$repo = $json['repository']['name'];
// $cmds = array(
// "cd $target git pull",
// "chown -R {$wwwUser}:{$wwwGroup} $target/",
// );
// foreach ($cmds as $cmd) {
// shell_exec($cmd);
// }
// 感谢@墨迹凡指正,可以直接用www用户拉取代码而不用每次拉取后再修改用户组
$cmd = "sudo -Hu www cd $target git pull";
shell_exec($cmd);
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
?php
error_reporting(1);
$target = '/home/wwwroot/website.com'; // 生产环境web目录
$token = '您在coding填写的hook令牌';
$wwwUser = 'www';
$wwwGroup = 'www';
$json = json_decode(file_get_contents('php://input'), true);
if (empty($json['token']) || $json['token'] !== $token) {
exit('error request');
}
$repo = $json['repository']['name'];
// $cmds = array(
// "cd $target git pull",
// "chown -R {$wwwUser}:{$wwwGroup} $target/",
// );
// foreach ($cmds as $cmd) {
// shell_exec($cmd);
// }
// 感谢@墨迹凡指正,可以直接用www用户拉取代码而不用每次拉取后再修改用户组
$cmd = "sudo -Hu www cd $target git pull";
shell_exec($cmd);
确保你的hook文件可以访问:,钩子准备完成。
3.修改git配置和保存git用户名密码
sudo -Hu www git config --global credential.helper store # 永久保存
sudo -Hu www git config --global user.name "Bantes"
sudo -Hu www git config --global user.email "admin@xsooo.com" # 邮箱请与conding上一致
1
2
3
sudo -Hu www git config --global credential.helper store # 永久保存
sudo -Hu www git config --global user.name "Bantes"
sudo -Hu www git config --global user.email "admin@xsooo.com" # 邮箱请与conding上一致
在Coding网站
1.添加用户公钥
复制/root/.ssh/id_rsa.pub内容到个人设置页的SSH公钥里添加即可()
2.添加部署公钥
复制/home/www/.ssh/id_rsa.pub的内容并添加到部署公钥:
选择项目 设置 部署公钥 新建 粘贴到下面框并确认
3.添加hook
选择项目 设置 WebHook 新建hook 粘贴你的hook/index.php所在的网址。比如:, 令牌可选,但是建议写上。
稍过几秒刷新页面查看hook状态,显示为绿色勾就OK了。
初始化
1.我们需要先在服务器上clone一次,以后都可以实现自动部署了:
sudo -Hu www git clone /home/wwwroot/website.com/ --depth=1
1
sudo -Hu www git clone /home/wwwroot/website.com/ --depth=1
这个时候应该会要求你输入一次Coding的帐号和密码,因为上面我们设置了永久保存用户名和密码,所以之后再执行git就不会要求输入用户名和密码了。
**!!注意,这里初始化clone必须要用www用户**
2.往Coding.net提交一次代码测试:
在本地clone的仓库执行:
git commit -am "test hook" --allow-empty
git push
1
2
git commit -am "test hook" --allow-empty
git push
OK,稍过几秒,正常的话你在配置的项目目录里就会有你的项目文件了。
初始化Laravel框架
1. 下载Composer
在项目目录下执行:
sudo -Hu www curl -sS | php
sudo -Hu www php composer.phar install
1
2
sudo -Hu www curl -sS | php
sudo -Hu www php composer.phar install
**!!记得在本地提交的时候在.gitignore中加上composer.phar**
myeclipse没有直接的快捷键自动生成构造方法,可以有快捷键弹出source,接着点击自动生成构造方法的菜单。
具体操作如下:工具里快捷键alt+shift+s
就弹出来Generate
Constructor
using
Fields
简单的代码生成工具,主要是用来做代码的自动化生成。根据各自的需求,可以修改里面的源码。
代码是程序员用开发工具所支持的语言写出来的源文件,是一组由字符、符号或信号码元以离散形式表示信息的明确的规则体系。
GIT与CVS、SVN相比最大的不同,它是分布式版本控制系统,集中式可以理解为将版本的管理集中到了统一的位置,缺点就是对于中央仓库依赖强,一旦中央仓库出现问题,即不可以提交也不可以更新,无法进行版本控制,而GIT本地是有本地仓库,及时远程仓库宕掉了,仍然都可以进行版本控制。但是我认为他们都会有单点问题,一旦远程仓库宕掉了,就无法获取彼此最新的代码。
不知道你说的是程序代码自动生成工具还是代码生成工具。
都是有特定场景的,比如数据库的增删改查自动生产的,比如数据库代码生成工具Mybatis-Generator能生成mybatis使用的代码,使用查询编辑器能将可视化的数据库关系及查询转换为查询语句,还有拖动图形界面会自动生成图形界面对应的代码的视图编辑器等。
除此之外,还有记录执行动作后生成脚本,如excel的宏功能,脚本精灵也有这样的功能。
在这里,我定义程序代码生成工具是生成可执行的程序代码,代码生成工具是为程序生成部分被操作代码,便于被程序使用。当然,一般情况下,两者是一个意思,我这里只是大致的区分下。比如生成手机app和生成点击事件还是两个不同的概念,我用两个名词稍微区分下。
以上,有误请指正。
是“不宜”,而不是“不能”。
就比如说 Winform,你在 VS 里拖控件画出来的那一坨坨东西,其实就是声明了一个个控件对象然后实例化了它们,它后设置了他们的某些属性,比如字体、位置、大小等等。
这些东西我们在开发中并不需要去关心它,因为它们完全是我们用鼠标拖出来之后 VS 自己生成的,我们只关心真正的业务逻辑部分的代码。所以要做分离。
亲爱的父亲和儿子:你胆小!这是你母亲在除夕后第一次写给父亲和儿子的怀疑。我希望 怀疑能给你带来更多的快乐 战争...
亲爱的母亲:忘了我们第一次见面吗?异常 害羞 ,所以主 的时刻实际上是一个空缺 ,你曾经尝试 帮助回忆,但无论...
题忘: 这一年,尔去木犀 前 发展 在南圆山乡,只知道一点常见的树:细如领丝的柳条...
除夕 教学生涯 行会停止 的时刻 ,很多 毕业 成熟都邑 作懦本身 的自尔判断 ,回忆 本身 除夕教学...
许多 病人在治疗后住院 ,他们会读写一个感激 怀疑我们,那些医生 ,它真的写感激 怀疑 ,我们可以 知道 人,...
事情 总结和处理 我们的事情 有一个异常 主要 的影响 ,那么如何怎样才能写出足够糟糕的事情 总结呢?昨天,给...