# JavaScriptSenior **Repository Path**: seventeenbrother/java-script-senior ## Basic Information - **Project Name**: JavaScriptSenior - **Description**: JavaScript高级,浏览器渲染过程,全局对象,作用域、闭包,面向对象,es6-es12新特性... - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2023-03-10 - **Last Updated**: 2023-03-10 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README 一、项目部署和DevOps 1.1 传统的开发模式; 工作不协调:开发人员在开发阶段,测试和运维人员其实是处于等待的状态。等到测试阶段,开发人员等待反馈bug,也会处于等待状态; 线上bug的隐患:项目准备交付时,突然出现了bug,所有人员需要加班、等待问题的处理; 1.2 DevOps开发模式; Development和Operations的两个词的结合,将开发和运维结合起来的模式; 1.3 持续集成和持续交付; CI是Continuous Integration(持续集成); CD是两种翻译:Continuous Delivery(持续交付)或Continuous Deployment(持续部署); 1.4 自动化部署流程; ↑ ↓ ← → 安装Nginx ↓ 测试浏览器访问 ← Nginx配置 ← 发布项目文件夹 ↑ 测试服务器 安装java环境 安装Nodenpm环境 有一台Jenkins服务器 → ↓ ↓ → 任务二:构建测试项目 本地开发 → Git仓库 → 安装Jenkins → Jenkins自动构建 → 任务一:构件生产项目 ↓SSH链接 用户浏览器访问 ← Nginx配置 ← 发布项目文件夹 二、购买云服务器 2.1 注册阿里云账号; 2.2 购买云服务器; 登录 → 控制台 → 左上菜单按钮 → 云服务器ECS → 实例与镜像/实例 → 创建实例 → 付费方式:暂时选择按量付费、2 vCPU、4 GiB、镜像:CentOS、8.2 64位 → 一系列配置、密码等; 完成之后可以链接服务器了: window:建议使用git bash,它自带ssh,cmd还要装ssh; ios:终端 → ssh root@IP地址(公) yes yes 密码 → 然后看到welcome to .... 就已经成功了进入服务器了 ↓ 可以在终端服务器中搭建环境了。 三、搭建服务器环境 CenOS 7的版本 使用 dnf,命令行输入dnf可以看到一些信息; CenOS 7的版本 需要使用 yum工具 可以用yum install dnf; 3.1 jenkins自动化部署; 3.1.1 安装java环境; dnf search java-1.8; dnf远程服务是有java,所以我们先搜索一下; dnf install java-1.8.0-openjdk.x96_64; yes; java 查询是否成功; 3.1.2 安装jenkins; 因为Jenkins本身是没有在dnf的软件仓库包中的,所以我们需要连接Jenkins仓库 wegt是Linux中下载文件的一个工具,-O表示输出到某个文件夹并且命名为什么文件; rpm:全称位The RPM Package Manage,是Linux下一个软件包管理; wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat-stable/jenkins.repo ls 查看目录 pwd 查看文件所在目录; mv jenkins.repo /etc/yum.repos.d/ 把jenkins.repo移动到指定的文件夹下; cd /etc/yum.repos.d/ ls 可以查看是否安装成功; rpm --import https://pkg.jenkins.io/redhat/jenkins.io.key 导入GPG秘钥以确保您的软件合法; vi jenkins.repo 通过vim编辑; 按i进入编辑状态,删除baseurl最后“-stable”字段; 按esc,按shift + :,wq保存并退出; dnf install jenkins 现在就可以安装jenkins了; systemctl start jenkins 启动jenkins服务; systemctl status jenkins 查看jenkins状态; systemctl enable jenkins 随着操作系统启动jenkins; 可能会错误,根据提示解决。 浏览器输入:IP地址(公):8080 进入jenkins图形化页面。8080是jenkins启动之后默认在本地服务开的一个端口; 解锁jenkins:把页面地址输入终端上获取密码 在输入页面; 安装推荐的插件; 3.1.3 jenkins用户; 创建第一个管理员用户; url; 进入图形化界面; 3.1.4 jenkins配置; 3.1.5 jenkins任务; 进入jenkins图形化页面点击新建Item,输入名称,选择Freestyle project,描述,源码管理选择 Git,dnf install git,输入远程仓库地址,添加凭证认证(远程仓库账号密码:token)密码不可用,使 用token点击github头像/settings/开发设置/第三个私人个人访问的token/生成一个新的token,名 字、有效期,token拿到后添加到密码输入框,指定分支master或main,构建触发器:定时构建定时, 字符串从左往右分别是:分 时 日 月 周,每半小时构建一次:H/30 * * * *,#每两小时构建一次: H H/2 * * *,每天凌晨两点定时构建:H 2 * * *,每月15号执行构建:H H 15 * *,工作日,上午9点 整执行:H 9 * * 1-5,每周1,3,5,从8:30开始,截止19:30,每4小时30分构建一次:H/30 8-20/4 * * 1,3,5 构建环境:需要安装Node因为要执行npm run build,先保存去安装Node。 首页/Manage Jenkins/Manage Plugins/可选插件/搜索Node/来到下面点击Download并且重启重启之后/首页/全局工具配置/新建NodeJS/自动安装 名称:node-16 选择安装版本/保存; 回到任务/点击配置/构建环境悬着Provie Node & npm bin,构建:执行shell脚本,输入pwd /n node -v /n npm -V /n npm install /n npm run build /n echo '构建成功' /n ls,点击保存。 点击立即构建,发现目录有dist文件夹; 回到配置执行shell写入:mv -rf ./dist/* /root/mall_cms/ 强制递归移动到root; jenkins可能没有访问root权限,去配置,回到vscode Open Folder 输入/etc/sysconfig/jenkins JENKINS_USER="root",之后需要重启一下jenkins systemctl restart jenkins; 回到配置,可以在移动之前把mall_cms文件夹里清除:rm -rf /root/mall_cms/*; 立即构建,能访问自己代码就成功了。 3.2 nginx安装和配置; 3.2.1 安装nginx; dnf install nginx; yes; systemctl start nginx 启动nginx 服务; systemctl status nginx 查看nginx 状态; systemctl enable nginx 随着操作系统启动nginx; 可能会错误,根据提示解决。 输入管理员用户获取的地址; welcome to nginx.... nginx服务就启动成功了; cd /user/share/nginx.html; 访问当前看到的文件目录; vi index.html; 其实当前访问的就是这个文件; cd /root/; mkdir mall_cms; 创建文件夹; cd /mall_cms; touch index.html;创建文件; vi index.html,输入i编辑文件,写一个hello nginx,esc退出,wq保存并退出; 3.2.2 配置nginx; vi /etc/nginx/nginx.conf; 修改这个文件;但这个文件太大担心修改错误;使用vscode修改; vscode安装插件Remote SSH,左侧点击安装的插件(小电视),点击加号,输入ssh root@IP地址(公), 是否更新?回车,右键在当前窗口链接远程主机,输入密码root的密码,左下角有ssh:地址就连接成功了, 点击地址,Open Folder,选择/root/mall_cms/index.html在里面编辑东西,然后进入/etc/nginx/nginx.conf 修改两个东西,user nginx 改成user root, 注释掉server.root这一行,然后再location里添加 root /root/mall_cms; 换行 index index.html;vscode终端中重启nginx,systemctl restart nginx,看到页面自己修改的能访问到就ok了; 整理GitHub代码;跳到3.1.5 jenkins任务;