最新消息:20210917 已从crifan.com换到crifan.org

【已解决】gitbook的template更新:新增配置允许不部署到服务器book.crifan.com

gitbook crifan 521浏览 0评论
之前自己的
gitbook_template
已正常工作。
现在遇到特殊情况:
crifan.com DNS域名被污染:
【未解决】crifan.com的DNS域名被墙域名被污染域名被劫持
暂时决定,gitbook不去部署到自己的服务器了。
所以需要去更新
common/gitbook_makefile.mk
相关改动为:
# ENABLE_DEPLOY_SERVER = false
# ENABLE_COMMIT_GITHUB_IO = false
# ENABLE_UPDATE_GITHUB_IO_README = false
# ENABLE_RSYNC_PROXY = false


ENABLE_DEPLOY_SERVER = false
ENABLE_COMMIT_GITHUB_IO = true
ENABLE_UPDATE_GITHUB_IO_README = true
ENABLE_RSYNC_PROXY = true

ifeq ($(ENABLE_DEPLOY_SERVER), true)
# if need upload/deploy, update content of these file
DEPLOY_SERVER_PASSWORD_FILE=$(GITBOOK_ROOT_COMMON)/config/deploy/deploy_server_password.txt
DEPLOY_IGNORE_FILE=$(GITBOOK_ROOT_COMMON)/config/deploy/deploy_ignore_book_list.txt
endif

################################################################################
# Upload to server
################################################################################


SHOULD_IGNORE_DEPLOY_SERVER = false


ifeq ($(ENABLE_DEPLOY_SERVER), true)
SHOULD_IGNORE_DEPLOY_SERVER = true
else


# ifneq ("$(wildcard $(DEPLOY_IGNORE_FILE))", "")
ifneq ($(wildcard $(DEPLOY_IGNORE_FILE)), )
# $(info $(DEPLOY_IGNORE_FILE) is exist, not empty)
IGNORE_FILE_CONTENT := $(shell cat $(DEPLOY_IGNORE_FILE))
# IGNORE_FILE_CONTENT := $(file < $(DEPLOY_IGNORE_FILE))


FOUND_BOOK := $(findstring $(BOOK_NAME), $(IGNORE_FILE_CONTENT))
# $(info FOUND_BOOK=$(FOUND_BOOK))


# ifeq ("$(FOUND_BOOK)", "")
ifeq ($(FOUND_BOOK), )
$(info NOT found $(BOOK_NAME) in IGNORE_FILE_CONTENT=$(IGNORE_FILE_CONTENT))
SHOULD_IGNORE_DEPLOY_SERVER = false
else
$(info IS found $(BOOK_NAME) in $(IGNORE_FILE_CONTENT))
SHOULD_IGNORE_DEPLOY_SERVER = true
endif


endif


## Upload all genereted website/pdf/epub/mobi files to remote server using rsync. Create deploy_server_info.mk and deploy_server_password.txt which contain deploy server IP+User+Path and Password before use this
upload: all
    @echo ================================================================================
ifeq ($(SHOULD_IGNORE_DEPLOY_SERVER), true)
    @echo Ignore upload $(BOOK_NAME) to book.crifan.com
else
    @echo Upload for $(BOOK_NAME)
    sshpass -f $(DEPLOY_SERVER_PASSWORD_FILE) rsync $(RSYNC_PARAMS) $(RELEASE_PATH) $(DEPLOY_SERVER_USER)@$(DEPLOY_SERVER_IP):$(DEPLOY_SERVER_PATH)
endif
去调试
报错if不匹配。
改为:
。。。

ifeq ($(ENABLE_DEPLOY_SERVER), true)
SHOULD_IGNORE_DEPLOY_SERVER = true
else
$(info SHOULD_IGNORE_DEPLOY_SERVER=$(SHOULD_IGNORE_DEPLOY_SERVER))


# ifneq ("$(wildcard $(DEPLOY_IGNORE_FILE))", "")
ifneq ($(wildcard $(DEPLOY_IGNORE_FILE)), )
$(info $(DEPLOY_IGNORE_FILE) is exist, not empty)
IGNORE_FILE_CONTENT := $(shell cat $(DEPLOY_IGNORE_FILE))
# IGNORE_FILE_CONTENT := $(file < $(DEPLOY_IGNORE_FILE))


FOUND_BOOK := $(findstring $(BOOK_NAME), $(IGNORE_FILE_CONTENT))
$(info FOUND_BOOK=$(FOUND_BOOK))
endif


# ifeq ("$(FOUND_BOOK)", "")
ifeq ($(FOUND_BOOK), )
$(info NOT found $(BOOK_NAME) in IGNORE_FILE_CONTENT=$(IGNORE_FILE_CONTENT))
SHOULD_IGNORE_DEPLOY_SERVER = false
else
$(info IS found $(BOOK_NAME) in $(IGNORE_FILE_CONTENT))
SHOULD_IGNORE_DEPLOY_SERVER = true
endif


endif
最后报错:
Upload for mobile_app_summary
sshpass -f  rsync -e "ssh -o
。。。
Conflicting password source
sshpass: -e option given but SSHPASS environment variable not set
Usage: sshpass [-f|-d|-p|-e] [-hV] command parameters
   -f filename   Take password to use from file
   -d number     Use number as file descriptor for getting password
   -p password   Provide password as argument (security unwise)
   -e            Password is passed as env-var "SSHPASS"
   With no parameters - password will be taken from stdin


   -P prompt     Which string should sshpass search for to detect a password prompt
   -v            Be verbose about what you're doing
   -h            Show help (this screen)
   -V            Print version information
At most one of -f, -d, -p or -e should be used
make: *** [upload] Error 1
看来是:没有ignore成功啊
【总结】
最后调整部分是:
common/gitbook_makefile.mk

################################################################################
# System Value
################################################################################


CURRENT_USER  := $(shell whoami)
$(info CURRENT_USER=$(CURRENT_USER))


################################################################################
# Global Config
################################################################################


# ENABLE_DEPLOY_SERVER = false
# ENABLE_COMMIT_GITHUB_IO = false
# ENABLE_UPDATE_GITHUB_IO_README = false
# ENABLE_RSYNC_PROXY = false


ENABLE_DEPLOY_SERVER = true
ENABLE_COMMIT_GITHUB_IO = true
ENABLE_UPDATE_GITHUB_IO_README = true
ENABLE_RSYNC_PROXY = true


ifneq ($(RSYNC_PROXY), )
RSYNC_PARAMS = $(RSYNC_PROXY) -avzh --progress --stats --delete --force
endif


### Upload to server ###


ifeq ($(ENABLE_DEPLOY_SERVER), true)
# if need upload/deploy, update content of these file
DEPLOY_SERVER_PASSWORD_FILE=$(GITBOOK_ROOT_COMMON)/config/deploy/deploy_server_password.txt
DEPLOY_IGNORE_FILE=$(GITBOOK_ROOT_COMMON)/config/deploy/deploy_ignore_book_list.txt
endif


COMMON_GITIGNORE_FILE=$(GITBOOK_ROOT_COMMON)/config/common/common_gitignore


ifeq ($(ENABLE_DEPLOY_SERVER), true)


# ifneq ("$(wildcard $(DEPLOY_IGNORE_FILE))", "")
ifneq ($(wildcard $(DEPLOY_IGNORE_FILE)), )
$(info $(DEPLOY_IGNORE_FILE) is exist, not empty)
IGNORE_FILE_CONTENT := $(shell cat $(DEPLOY_IGNORE_FILE))
# IGNORE_FILE_CONTENT := $(file < $(DEPLOY_IGNORE_FILE))


FOUND_BOOK := $(findstring $(BOOK_NAME), $(IGNORE_FILE_CONTENT))
$(info FOUND_BOOK=$(FOUND_BOOK))
endif


ifeq ($(FOUND_BOOK), )
$(info NOT found $(BOOK_NAME) in IGNORE_FILE_CONTENT=$(IGNORE_FILE_CONTENT))
SHOULD_IGNORE_DEPLOY_SERVER = false
else
$(info IS found $(BOOK_NAME) in $(IGNORE_FILE_CONTENT))
SHOULD_IGNORE_DEPLOY_SERVER = true
endif


endif


$(info ---Current Config---)
$(info ENABLE_COMMIT_GITHUB_IO=$(ENABLE_COMMIT_GITHUB_IO))
$(info ENABLE_UPDATE_GITHUB_IO_README=$(ENABLE_UPDATE_GITHUB_IO_README))
$(info ENABLE_DEPLOY_SERVER=$(ENABLE_DEPLOY_SERVER))
$(info ENABLE_RSYNC_PROXY=$(ENABLE_RSYNC_PROXY))
$(info RSYNC_PROXY=$(RSYNC_PROXY))
$(info RSYNC_PARAMS=$(RSYNC_PARAMS))

################################################################################
# Output current makefile info
################################################################################
Author=crifan.com
Version=20210908
Function=Auto use gitbook to generated files: website/pdf/epub/mobi; upload to remote server; commit to your github.io repository
RunHelp = Run 'make help' to see usage
GitRepo = Latest version: https://github.com/crifan/gitbook_template

################################################################################
# Upload to server
################################################################################


## Upload all genereted website/pdf/epub/mobi files to remote server using rsync. Create deploy_server_info.mk and deploy_server_password.txt which contain deploy server IP+User+Path and Password before use this
upload: all
    @echo ================================================================================
ifeq ($(ENABLE_DEPLOY_SERVER), true)
    @echo Upload for $(BOOK_NAME)
    sshpass -f $(DEPLOY_SERVER_PASSWORD_FILE) rsync $(RSYNC_PARAMS) $(RELEASE_PATH) $(DEPLOY_SERVER_USER)@$(DEPLOY_SERVER_IP):$(DEPLOY_SERVER_PATH)
else
    @echo Disabled deploy $(BOOK_NAME) to server $(DEPLOY_SERVER_IP)
endif

commit: all
。。。
    cd $(CURRENT_DIR) && \
    pwd && \
    git remote -v
即可
最新版本详见:
https://github.com/crifan/gitbook_template/blob/master/common/gitbook_makefile.mk
可支持:
ENABLE_DEPLOY_SERVER = true
可以部署上传(当前的book的文件到)到你的服务器
ENABLE_DEPLOY_SERVER = false
则不部署上传服务器。

转载请注明:在路上 » 【已解决】gitbook的template更新:新增配置允许不部署到服务器book.crifan.com

发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
91 queries in 0.179 seconds, using 23.38MB memory