首页 > 其他分享 >项目部署一:前期准备(本地上传、gitignore、ssh连接、密钥)

项目部署一:前期准备(本地上传、gitignore、ssh连接、密钥)

时间:2024-09-30 17:24:02浏览次数:7  
标签:git 代码 密钥 本地 服务器 gitignore com ssh

项目部署

img

想要将django项目部署在服务器上,本质上需要三大部分:

  • 将代码上传到服务器
  • 在服务器上 获取代码、安装服务、配置环境
  • 启动服务

1.代码同步

上传代码的方式有很多种,例如:FTP工具、scp命令、rsync服务、svn等,不过目前公司主流的都是使用git+代码托管平台。

img

  • 本地电脑,安装git并使用git命令上传代码。
  • 代码仓库,创建仓库。
  • 服务器,安装git并使用git命令获取最新代码。

1.1 本地上传

在本地电脑上本质上需要执行如下步骤:

  • 全局配置

    git config --global user.name "xxx"
    git config --global user.email "[email protected]"
    
  • 进入项目目录

    • 初始化

      git init
      
    • 配置远程地址

      git remote add origin https://gitee.com/wupeiqi/xxxxx.git
      
    • 本地版本提交

      git add .
      git commit -m '提交说明...'
      
    • 提交到远程仓库

      git push origin master
      

这样虽然能操作,但是会有两个小问题:

  • 项目中所有数据都提交了,如果仓库是公开的,有些敏感数据会泄露。
  • 每次提交都需要输入密码,太烦了。

1.1.1 gitignore

在项目中创建一个 .gitignore的文件,在里面写上文件名或文件夹,可以git忽略一些文件,不要进行版本控制。

https://github.com/github/gitignore/blob/main/Python.gitignore

img

将Python的ignore文件内存拷贝并保存至项目目录下。

img

这样,就可以控制git忽略某些文件。

学会这个知识点之后,接下来再来讲一个关于配置文件的常见操作,即:local_settings.py

img

如果本次开发和线上开发一些配置不同,就可以放在这个文件。

  • 本地:local_settings.py 编写本地特有配置。
  • 线上:local_settings.py 编写线上特有配置。

而在settings.py中编写所有环境都有的配置。

1.1.2 密码或秘钥

本地提交代码时,每次需要输入密码 & 线上服务器拉去代码时,每次也需要输入密码。

  • 固定用户名和密码

    git remote remove origin
    git remote add origin https://用户名:密码@gitee.com/wupeiqi/xxxxx.git
    
  • 使用SSH

    • 使用ssh-keygen命令,生成一对秘钥(公钥和私钥)

      ssh-keygen -t rsa
      

      img

    • 读取公钥 ~/.ssh/id_rsa.pub内容并上传到代码托管仓库
      img

      img

1.1.3 关于版本(赠送)

在本地的git每次执行commit命令时,都会生成一个提交记录,如果执行git push也会将记录提交到代码仓库。

可以通过命令实现在各个版本之间进行切换:

  • 查看提交记录
git log
  • 查看提交记录
git reflog
  • 跳转至指定版本
git reset --hard fa1653b6cd5ed1ff12ef1acdf534e91b9b895604

注意:此命令可以在本地、线上执行,以此来切换到各种版本

1.2 线上同步

登录线上服务器并获取代码,本质上需要以下三个步骤:

  • 基于SSH或web页面登录服务器
  • 云平台网页版:支持登录并进行命令交互(不便捷,不推荐)。
  • SSH工具,连接比较方便(推荐)
  • win:xshell、SecureCRT
  • mac:iTerm2

注意:如果使用SSH工具连接远程服务器的话,需要在云平台的的安全组开启22端口权限。
img
img

1.2.1 SSH密码+下载代码

>>>ssh [email protected]
>>>cd /data/
>>>git clone https://gitee.com/wupeiqi/xxxxx.git
>>>cat ~/.ssh/id_rsa.pub
>>>拷贝公钥放到代码仓库
>>>cd /data/
>>>git clone [email protected]:wupeiqi/xxxxx.git

img
`

1.2.2 SSH秘钥+下载代码

在我们本地想要通过SSH连接服务器,每次连接都输入密码也觉得比较烦,此时也可以使用秘钥的方式直接连接服务器。

>>>ssh-keygen -t rsa    这个命令不需要做了,因为在之前git上传代码时已执行过(已有公钥和私钥)
>>>ssh-copy-id  -i ~/.ssh/id_rsa.pub [email protected]

img

标签:git,代码,密钥,本地,服务器,gitignore,com,ssh
From: https://www.cnblogs.com/Tmars/p/18442207

相关文章

  • 在 anolis os 8.8 中升级 openssh 到 9.9p1
    标题中版本号是实际测试通过的,理论上应该也适用于类似系统和相近版本openssh貌似有不带p1和带p1的两个版本,具体区别没有细研究就网上文章来看,似乎带p1的版本更容易升级升级步骤:1、首先安装一套telnet用于备份#安装telnet相关yum-yinstalltelnettelnet-serve......
  • 记录一次ssh 远程连接失败
    由来在编写自己的博客想法上退步,计划使用已有的博客架构.网上找到两个技术架构typechoandworldpress.使用了MrDoc过程按照指导,在腾讯云上免费领取到了一台机器后,使用putty无法远程登录,提示"nosupportedauthenticationmethodsavailable"我希望的效果是ro......
  • openSSH升级
    升级前准备:(准备Telnet连接方式防止SSh中断无法连接服务)1、安装telnetxinetdyum-yinstalltelnet*xinetd*2、用vi工具打开securettyvi/etc/securetty|greppts3、将下列数据粘贴到最后面pts/1pts/2pts/3pts/4pts/54、启动telnetsystemctlstarttelnet.sock......
  • git 生成ssh key
    文件目录下  1、ssh-keygen-trsa-b4096-C"自己的邮箱地址"2、ls-la查看所有文件3、cat~/.ssh/id_rsa.pub//文件里面的全部复制 4、在GitHub账户的Settings中添加SSHkey:登录GitHub。点击右上角的头像,然后点击Settings。在用户设置页面......
  • 华三设备的用户创建、ssh、telnet等的配置
    sshserverenabletelnetserverenablepublic-keylocalcreatersapublic-keylocalcreatedsauser-interfacevty04authentication-modeschemeprotocolinboundsshqulocal-usertonyclassmanagepasswordsimpleroot#12345service-typeterminalsshteln......
  • javaweb基于SSH开发小型学生宿舍管理系统源码+报告 课程设计 大作业
    ......
  • ESXi 5.5主机ssh开启的三种方法
    ESXi5.5是直接安装在物理主机上的一个虚拟机系统,本质上是一个Linux系统。平时可以通过VMwareClient端或者VMwarevCenter进行管理,但对于一些特殊的VMware命令或设置更改,有时需要连接到VMware主机进行操作,这就需要ESXi主机的ssh是开通的。由于ESXi主机是创建虚拟机的基础,非常......
  • 混合密码系统——用对称密钥提高速度,用公钥密码保护会话密钥
    混合密码系统(HybridCryptosystem)是一种结合了多种密码学技术和算法的加密方案,旨在充分利用不同密码算法的优势,以提供更强大的安全性、更高的效率或更好的功能特性。以下是对混合密码系统的详细解释:组成要素对称加密算法特点与作用:对称加密算法使用相同的密钥进行加密和......
  • openssh升级 OpenSSH_9.9p1
    1.背景:网信办进行检查,要求使用目前最新版的openssh,那就升级吧,还能说什么。记录一下遇到的坑2.升级:openssh升级的要求OpenSSL版本最低1.1.1,去网站下载最新版https://openssl-library.org/source/最新版的为3.3.2.但是安装的时候perl一直升级不成功。索性放弃使用最新版本的。改......
  • 在Linux中挂载远程主机目录:详解SSHFS挂载
    在日常的服务器管理过程中,我们经常会遇到这样一种场景:需要将一台远程主机上的某个目录挂载到本地主机上,以便于进行文件共享、远程操作等。对于Linux用户来说,sshfs是一个简单而高效的工具,可以轻松地将远程目录挂载到本地文件系统中。本文将为大家详细讲解如何使用sshfs来实现这一......