1
0
mirror of https://github.com/142vip/408CSFamily.git synced 2026-02-10 22:05:22 +08:00

feat: 修改编译、打包流程,优化脚本

This commit is contained in:
早睡早起
2023-08-29 18:46:12 +08:00
parent f1adb3796d
commit cfa50ae38e
11 changed files with 2434 additions and 2058 deletions

View File

@@ -1,5 +1,4 @@
node_modules
manuscript
.github
.idea
.dockerignore

View File

@@ -52,4 +52,4 @@ jobs:
run_install: true
- name: Build And Push Docker image
run: PROXY_DOMAIN=true pnpm faster-image
run: PROXY_DOMAIN=true pnpm image:faster

2
.gitignore vendored
View File

@@ -58,7 +58,6 @@ typings/
.git
.vscode
.env
.idea
.DS_Store
dist
lib
@@ -72,3 +71,4 @@ package-lock.json
templete
/docs/.vuepress/.temp/
/docs/.vuepress/.cache/
/.husky/

View File

@@ -1,15 +1,24 @@
#
# - 功能: 408CSFamily镜像构建
# - 用法: docker build -f Dockerfile --build-arg APP_VERSION=0.0.1 -t 408CSFamily-0.0.1 .
# - 用法: docker build -f Dockerfile --build-arg APP_VERSION=0.0.1 --build-arg CONTAINER_BUILD=true -t 408CSFamily-0.0.1 .
# - 参数:
# APP_VERSION: 版本
# CONTAINER_BUILD: 采用容器构建
#
# 注意vite构建需要支持node14以上安装node16较为稳妥
## 注意vite构建需要支持node14以上安装node16较为稳妥
FROM registry.cn-hangzhou.aliyuncs.com/142vip/node:16.12.0-alpine AS build_base
RUN mkdir -p /apps
ARG CONTAINER_BUILD
WORKDIR /apps
COPY . .
RUN npm i pnpm@6 -g && pnpm i -D && pnpm build
RUN echo $CONTAINER_BUILD
## 基于容器自动构建
RUN if [ "$CONTAINER_BUILD" = "true" ]; then \
npm i pnpm@7 -g && pnpm i -D && pnpm build; \
fi;
FROM registry.cn-hangzhou.aliyuncs.com/142vip/nginx:1.23.0-alpine

View File

@@ -1,13 +0,0 @@
#
# - 功能: 快速构建408CSFamily镜像
# - 用法: docker build -f Faster.Dockerfile --build-arg APP_VERSION=0.0.1 -t 408CSFamily-0.0.1 .
#
FROM registry.cn-hangzhou.aliyuncs.com/142vip/nginx:1.23.0-alpine
ARG APP_VERSION
LABEL version=$APP_VERSION description="408CSFamily合集"
LABEL author="【Github&公众号】Rong姐姐好可爱" email="fairy_408@2925.com"
COPY ./docs/.vuepress/dist/ /usr/share/nginx/html/
COPY nginx.conf /etc/nginx/

167
README.md
View File

@@ -1,8 +1,9 @@
## 写最前面
> `408CSFamily` 我的理解是408计算机专业课”全家桶“而408相信考研er都知道计算机考研专业课代码在最新的高校计算机研究生招考中已经越来越多的学校改考408。可见408所涉及到的专业课举足轻重的地位不论是在考研或者找工作我相信408的专业基础必定是难以避免的所以话不多说、形势复杂唯一能做的就是不停的学习、巩固基础知识加油
>
> 另外本仓库收录的大部分内容将来源我自己的学习输出和相关资料的整理将会站在上班族的角度进行分类、输出若有任何疑惑和问题欢迎在github仓库集中pr或issues提出
`408CSFamily` 我的理解是408计算机专业课”全家桶“而408相信考研er都知道计算机考研专业课代码在最新的高校计算机研究生招考中已经越来越多的学校改考408。可见408所涉及到的专业课举足轻重的地位不论是在考研或者找工作我相信408的专业基础必定是难以避免的所以话不多说、形势复杂唯一能做的就是不停的学习、巩固基础知识加油
本仓库收录的大部分内容将来源我自己的学习输出和相关资料的整理将会站在上班族的角度进行分类、输出若有任何疑惑和问题欢迎在github仓库集中pr或issues提出
**阅读之前必看:**
@@ -52,7 +53,10 @@
## 学习视频
不是王道工作人员,不做任何推销,只是感觉看书不太行的话还是得找找视频辅助下,就发现了王道视频唯一要推销的可能是我的B站ID**[Rong姐姐好可爱](https://space.bilibili.com/350937042)**,哈哈哈哈啊哈噗呲
> 不是王道工作人员,不做任何推销,只是感觉看书不太行的话还是得找找视频辅助下,就发现了王道视频
> 唯一要推销的可能是我的B站**[Rong姐姐好可爱](https://space.bilibili.com/350937042)**
>
> 补充视频都是王道官方的我自己有时也会用这个如果链接失效可以去B站搜搜哈
@@ -62,7 +66,7 @@
- [操作系统](https://www.bilibili.com/video/BV1YE411D7nH)
- [计算机网络](https://www.bilibili.com/video/BV19E411D78Q)
> 补充视频都是王道官方的我自己有时也会用这个如果链接失效可以去B站搜搜哈
## 大纲目录善用Ctrl+F
@@ -328,7 +332,7 @@
<!-- - [第一章:操作系统引论](计算机操作系统/第一章)
- [第一章:操作系统引论](计算机操作系统/第一章)
- [第二章:进程的描述与控制](计算机操作系统/第二章)
- [第三章:处理机调度与死锁](计算机操作系统/第三章)
- [第四章:存储器管理](计算机操作系统/第四章)
@@ -339,7 +343,7 @@
- [第九章:操作系统接口](计算机操作系统/第一章)
- [第十章:多处理机操作系统](计算机操作系统/第一章)
- [第十一章:多媒体操作系统](计算机操作系统/第一章)
- [第十二章:保护与安全](计算机操作系统/第一章) -->
- [第十二章:保护与安全](计算机操作系统/第一章)
@@ -370,155 +374,6 @@
<!-- ##
## 字节工作内推
**帮朋友转发、宣传,以下jd是相对社招而言校招、实习会降低要求社招、校招、实习机会多多更有漂亮hr小姐姐引导整个流程不论是在校学生还是已步入职场的你只要有兴趣觉得合适的给我简历安排内推欢迎简历骚扰备注来意即可mmdapl@163.com**
#### 资深前端开发工程师 - 抖音电商
##### 职位描述
- 负责字节跳动电商C端业务产品抖音、西瓜、头条、番茄小说、皮皮虾等应用的工程架构设计、业务开发、跨端架构设计覆盖Web应用、多端组件库、C端搭建等多个方向
- 参与团队前端工程化体系建设,逐步提升研发效率、研发质量,通过前端技术的不断产出驱动业务的发展;
- 与产品经理、设计师、后端工程师一起,提升产品的用户体验,打造卓越的互联网产品;
- 关注前端前沿技术发展,能够将新知识传递给团队,并且转化到潜在项目中。
##### 职位要求
- 扎实的计算机基础知识,熟悉常用的数据结构、算法和设计模式,并能在日常研发中灵活使用;
- 深入理解Web前端开发技术包括HTML/CSS/JavaScript等
- 掌握至少一种主流前端框架包括React/vue等有实际项目研发经验
- 了解React Native、OC、小程序、跨端开发等有一定的实际开发经验;
- 深入跨端、浏览器、运行时容器等任一方向即可,对于运行时容器、渲染引擎等方面有一定的技术认知;。
- 熟悉交互设计理论,能够将优秀的交互设计落地到产品中,能够独立完成一个复杂模块或项目的研发工作;
- 具备较强的责任感、团队合作精神、逻辑思维能力和表达能力。
#### 高级前端研发工程师-抖音短视频
##### 职位描述
- 负责抖音相关产品功能开发,包括用户产品端功能、大型活动、小程序等的开发;
- 负责抖音相关中台、业务平台、ToB产品的全栈技术方案设计、开发
- 负责基础框架、工具链、组件库等基础设施设计、开发和维护;
- 在跨端及全栈、音视频等技术方向进行核心难题攻坚;
- 基于跨端和全栈技术探索高效开发迭代模式。
##### 职位要求
- 本科及以上学历,扎实的计算机基础和前端基础;
- 熟练掌握React/Vue等大型前端框架理解底层原理能够灵活运用
- 了解跨客户端/全栈 其中的一种技术体系,理解相关底层原理;
- 熟悉前端工程化相关及原理,具备良好的架构设计和工程设计能力;
- 有全栈实践,熟悉 Node/Python/Go 加分;
- 有跨端开发经验React Native/Weex/Flutter加分
- 有Web游戏开发或引擎开发音视频相关实践经验加分。
#### 高级前端研发工程师 - 翻译平台
##### 职位描述
- 负责国际化文案管理及翻译平台的迭代,促进公司内外部各产品的国际化发展;
- 负责国际化多语言工具链建设,提升国际化开发、翻译的效率。
##### 职位要求
- 本科及以上学历2 年及以上工作经验,计算机相关专业优先;
- 熟悉React、Redux/Mobx技术栈以及Webpack等打包构建工具具备较强的项目架构能力
- 对设计原理有一定研究,有良好的代码设计意识;
- 熟悉至少一门后端编程语言NodeJS、Golang、Python等并有实践经验
- 有国际化产品背景加分;
- 有i18n相关方案开发或者维护经验的加分。
#### 高级前端开发工程师 - 中后台方向
##### 职位描述
- 参与IES企业级设计体系『Semi Design』开发及维护包括UI组件库、主题平台、物料平台等
- 参与IES中后台设计开发工具链开发及维护包括主题/物料开发工具、Sketch/Figma插件、IDE插件等
- 参与IES中后台基础库、解决方案开发及维护包括i18n、权限、路由等方案
- 参与前沿设计智能的研究。
##### 职位要求
- 三年以上前端相关工作经验,计算机及相关专业;
- 对React相关技术栈有深入研究了解Vue相关技术栈
- 熟悉Webpack等打包构建工具
- 有丰富的中后台开发经验具备一定的服务端开发基础熟悉Koa/Express开发熟悉运维部署。
#### 高级前端研发工程师-抖音用户增长-激励体系方向
##### 职位描述
- 负责抖音端内金币激励产品迭代;
- 负责抖音端内增长游戏产品迭代。
##### 职位要求
- 本科及以上学历计算机基础扎实熟练掌握Javascript/CSS
- 掌握当前流行的前端框架如React/Vue并熟悉其衍生生态如Redux、Webpack等
- 有跨端开发经验有RN/Weex/小程序/Flutter等项目经验
- 对小游戏玩法有强烈兴趣,对游戏引擎有一定认知,如 Cocos2dLayaboxEgret 等。
#### 前端开发工程师-直播方向
##### 职位描述
- 负责抖音/抖音火山版/西瓜视频/今日头条等产品直播研发webapp/hybrid/React Native/小程序/Electron/多媒体,以及大型中后台大前端研发;
- 追求极致,不停探索前端跨平台技术。
##### 职位要求
- 计算机基础扎实熟练掌握JavascriptES5/6CSS熟练掌握各种布局
- 对解决 CSS/JS 多浏览器兼容性问题,前端性能优化有一定的经验;
- 理解工程化思想,对构建和持续集成有一定认识,熟悉一种构建工具;
- 理解组件化开发思想有一定的设计能力熟悉最少一种前端MV*框架;
- 对后端技术和数据库有一定了解;
- 有移动端web开发经验HybridReact Native等优先
- 对大型网站重构有丰富经验者优先,有成功作品者优先;
- 对动画渲染引擎有经验者优先。
#### 前端开发工程师-支付
##### 团队介绍
依托字节跳动强大的业务中台和技术中台能力,快速探索互联网全新的业务形态,寻找全新的用户需求,创造全新的业务场景,服务数亿用户。
##### 职位描述
- 自我驱动完成核心业务系统的前端研发工作;
- 优化前端体验,解决性能和交互难点;
- 参与前端工具链、通用服务、基础库、设计语言建设。
##### 职位要求
- 本科及以上学历,计算机相关专业优先;
- 理解并熟练掌握 HTML(5)、CSS(3)、JS拥有成熟应用经验
- 熟练前端生态并怀有兴趣和好奇心,至少熟悉一种主流框架;
- 学习能力强,对产品有强烈的责任感,拥有沟通和团队协作能力,适应自驱工作环境 。
#### 前端研发工程师-智能营销中台
##### 职位描述
- 负责设计稿智能解析生成UI界面平台开发
- 负责智能设计辅助平台开发;
- 负责公司运营活动平台建设。
##### 职位要求
- 计算机、通信和电子信息科学相关专业优先;
- 有图像算法、深度学习背景优先;
- 熟悉前端相关技术包括HTML、CSS、JavaScript等
- 有自己的技术产品、开源作品、或活跃的开源社区贡献者优先;
- 积极乐观、责任心强、工作认真细致、具有良好的服务意识、具有良好的沟通协作能力。
#### 前端开发工程师-社区安全方向
##### 职位描述
- 负责抖音端内社区安全和隐私合规相关功能的前端开发工作;
- 负责抖音社区安全、隐私合规方向的平台建设工作。
##### 职位要求
- 计算机基础扎实,熟悉常用的数据结构和算法,具备扎实的编码能力;
- 前端基础扎实熟练掌握HTML、Javascript、CSS及HTTP协议
- 熟悉至少一种Web开发框架如React、Vue、Angular等
- 具备良好的系统设计能力,能自主完成常规技术方案的设计及落地;
- 具有良好的团队合作精神和积极主动的沟通意识;
- 有安全相关工作背景者优先,有大型网站架构经验者优先,具备全栈/跨端开发能力者优先。 -->
## 赞赏列表

View File

@@ -7,14 +7,14 @@
"prepare": "husky install && npx husky add .husky/pre-commit \"npm run lintfix\" && chmod +x .husky/pre-commit",
"dev": "vuepress dev docs",
"build": "vuepress build docs",
"build-proxy": "PROXY_DOMAIN=true vuepress build docs",
"build:proxy": "PROXY_DOMAIN=true vuepress build docs",
"image": "bash scripts/build_image.sh $npm_package_version",
"faster-image": "bash scripts/build_image.sh $npm_package_version faster",
"ali": "bash scripts/deploy.sh ali $npm_package_version",
"github": "bash scripts/page_deploy.sh",
"clean": "find . -name \"node_modules\" -type d -exec rm -rf '{}' +",
"image:faster": "bash scripts/build_image.sh $npm_package_version faster",
"deploy:ali": "bash scripts/deploy.sh ali $npm_package_version",
"deploy:github": "bash scripts/page_deploy.sh",
"lint": "eslint --ext .js,.vue,.ts --ignore-path .gitignore .",
"lintfix": "eslint --fix --ext .js,.ts,.vue --ignore-path .gitignore ."
"lintfix": "eslint --fix --ext .js,.ts,.vue --ignore-path .gitignore .",
"clean": "find . -name \"node_modules\" -type d -exec rm -rf '{}' +"
},
"author": {
"name": "Chu Fan",

4249
pnpm-lock.yaml generated

File diff suppressed because it is too large Load Diff

View File

@@ -9,7 +9,7 @@
## 日志颜色定义
readonly successLogger="\033[36m"
readonly errorLogger="\033[1;31m"
readonly warnLogger="\033[1;33m"
## 定义时间
readonly currentTime=$(date "+%Y-%m-%d %H:%M:%S")
## 项目名称
@@ -24,6 +24,7 @@ isFaster=${2}
imageTagName=${repoAddress}:${projectName}-${version}
## 预检查
prepare_check(){
if test -z "${version}";then
echo -e "${errorLogger}${currentTime}:参数错误 版本号不能为空。参考版本: 0.0.x"
@@ -31,15 +32,29 @@ prepare_check(){
fi
}
## 运行命令
run(){
echo -e "${successLogger}---------------- shell ${projectName} start ---------------- "
if [ "${isFaster}" == "faster" ];then
## 本地构建、快速制作镜像
pnpm build && docker build -f Faster.Dockerfile --build-arg APP_VERSION="${version}" -t "${imageTagName}" .
pnpm build && docker build \
--build-arg APP_VERSION="${version}" \
--build-arg CONTAINER_BUILD=false \
-t "${imageTagName}" .
else
## ci流程构建
docker build -f Dockerfile --build-arg APP_VERSION="${version}" -t "${imageTagName}" .
## ci流程,容器构建打包
docker build \
--build-arg APP_VERSION="${version}" \
--build-arg CONTAINER_BUILD=true \
-t "${imageTagName}" .
echo 12312
echo docker build \
--build-arg APP_VERSION="${version}" \
--build-arg CONTAINER_BUILD=true \
-t "${imageTagName}" .
fi
echo -e "${successLogger}---------------- shell ${projectName} end ---------------- "

View File

@@ -2,7 +2,7 @@
## 功能设置docker自定义network并指定网关、IP范围
## 参考https://blog.csdn.net/Dontla/article/details/125210694
## 作者:Rong姐姐好可爱
## 作者:储凡
## 使用示例bash xxx.sh 容器名称 镜像地址
##
@@ -70,7 +70,7 @@ init_network(){
docker network ls
exit ;
else
echo -e "${successLogger}---------------- 网络${networdefaultNetworkNamekName},现进行初始化 ---------------- "
echo -e "${successLogger}---------------- 网络${defaultNetworkName},现进行初始化 ---------------- "
docker network ls
docker network create \
--subnet="${subnet}" \

View File

@@ -6,8 +6,6 @@ set -e
npm run build-proxy && cd docs/.vuepress/dist
git init && git add -A
## 如果没有输入commit信息则采用默认