TCA
https://github.com/pointfreeco/swift-composable-architecture
RIBs
https://github.com/uber/RIBs
SwiftUI + Combine
https://github.com/nalexn/clean-architecture-swiftui
Based in Taipei, Taiwan GDG Taipei Women Techmakers Ambassador from April 2016 Mother vs. Toddler Premium coffee lover
TCA
https://github.com/pointfreeco/swift-composable-architecture
RIBs
https://github.com/uber/RIBs
SwiftUI + Combine
https://github.com/nalexn/clean-architecture-swiftui
Create a SwiftUI application in AppCode
tools : InjectionIII
licenses : most are MIT, one of the facebook/fishhook is BSD-3-Clause license
PS for commercial use, should avoid GPL & LGPL
Get updated view by "saving files...." (command + S)
or switch the current window to others to make the IDE auto store the change
sometimes it just updated -.-
info plist
https://sarunw.com/posts/launch-screen-using-plist/
info plist + story board
https://www.appcoda.com/launch-screen-swiftui/
LaunchScreen.storyboard & info plist 同時設定的時候, storyboard 優先
rf:
https://developer.apple.com/documentation/technotes/tn3118-debugging-your-apps-launch-screen
PS: no code can be excuted in this stage...
We want the Jenkins web interface to be accessible from anywhere (not just on the local machine), so we’re going to open up the config file:
sudo nano /usr/local/opt/jenkins-lts/homebrew.mxcl.jenkins-lts.plistFind this line:
<string>--httpListenAddress=127.0.0.1</string>And change it to:
<string>--httpListenAddress=0.0.0.0</string>
BUILD SUCCESSFUL in 2m 56s
39 actionable tasks: 13 executed, 26 up-to-date
Build step 'Invoke Gradle script' changed build result to SUCCESS
Archiving artifacts
The recommended git tool is: NONE
using credential PullinSSHKey
> git tag -l 1.2.3 # timeout=10
> git tag -a -f -m 1.2.3 tag by build number 32 1.2.3 # timeout=10
ERROR: Failed to push tag 1.2.3 to origin
hudson.plugins.git.GitException: Could not apply tag 1.2.3
at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.tag(CliGitAPIImpl.java:1849)
...skip...
at java.base/java.lang.Thread.run(Thread.java:829)
Suppressed: hudson.remoting.Channel$CallSiteStackTrace: Remote call to JNLP4-connect connection from localhost/127.0.0.1:49431
at hudson.remoting.Channel.attachCallSiteStackTrace(Channel.java:1784)
at hudson.remoting.UserRequest$ExceptionResponse.retrieve(UserRequest.java:356)
...skip...
at hudson.model.ResourceController.execute(ResourceController.java:101)
at hudson.model.Executor.run(Executor.java:442)
Caused by: hudson.plugins.git.GitException: Command "git tag -a -f -m 1.2.3 tag by build number 32 1.2.3" returned status code 128:
stdout:
stderr: Committer identity unknown
*** Please tell me who you are.
Run
git config --global user.email "you@example.com"
git config --global user.name "Your Name"
to set your account's default identity.
Omit --global to set the identity only in this repository.
fatal: empty ident name (for <>) not allowed
at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommandIn(CliGitAPIImpl.java:2671)
at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommandIn(CliGitAPIImpl.java:2601)
...skip...
... 17 more
Build step 'Git Publisher' marked build as failure
Finished: FAILURE10:31:31 Upload failed: 10:31:31 - Google Play Android Developer API has not been used in project 544296638860 before or it is disabled. Enable it by visiting https://console.developers.google.com/apis/api/androidpublisher.googleapis.com/overview?project=544296638860 then retry. If you enabled this API recently, wait a few minutes for the action to propagate to our systems and retry.
10:43:37 Upload failed: 10:43:37 - The project ID used to call the Google Play Developer API has not been linked in the Google Play Developer Console.
11:47:59 Uploading 1 file(s) with application ID: dbx.****** 11:47:59 11:47:59 APK file: app/build/outputs/apk/pub/release/*****_20220914_vtest.ver.sion_pub_release.apk 11:47:59 File size: 61.34 MB 11:47:59 SHA-1 hash: 2ace634d7202b06671083dc7edd30fcfc08a489c 11:47:59 versionCode: 200701268 11:47:59 versionName: test.ver.sion 11:47:59 minSdkVersion: 21 11:48:26 11:48:26 Updating release track 'internal': 11:48:26 - Application ID: dbx.***** 11:48:26 - Version codes: 200701268 11:48:26 - Staged rollout: 0% (draft) 11:48:26 - Update priority: (default) 11:48:26 - Release name: (default) 11:48:26 - Release notes: en-GB, zh-TW 11:48:26 11:48:26 Applying changes to Google Play... 11:48:30 Changes were successfully applied to Google Play
16:10:29 Failed to execute org.gradle.cache.internal.AsyncCacheAccessDecoratedCache$$Lambda$308/0x00000008004b6c40@7ca109ec.
16:10:29 org.gradle.api.UncheckedIOException: Could not add entry '/Users/jenkins/.gradle/caches/transforms-3/c1e8d385c310d60e608cd1b948ce68f4' to cache file-access.bin (/Users/jenkins/.gradle/caches/journal-1/file-access.bin).
16:10:29 at org.gradle.cache.internal.btree.BTreePersistentIndexedCache.put(BTreePersistentIndexedCache.java:162)
16:10:29 at org.gradle.cache.internal.DefaultMultiProcessSafePersistentIndexedCache.lambda$put$1(DefaultMultiProcessSafePersistentIndexedCache.java:67)
16:10:29 at org.gradle.cache.internal.DefaultFileLockManager$DefaultFileLock.doWriteAction(DefaultFileLockManager.java:216)
16:10:29 at org.gradle.cache.internal.DefaultFileLockManager$DefaultFileLock.writeFile(DefaultFileLockManager.java:206)
16:10:29 at org.gradle.cache.internal.DefaultCacheAccess$UnitOfWorkFileAccess.writeFile(DefaultCacheAccess.java:449)
16:10:29 at org.gradle.cache.internal.DefaultMultiProcessSafePersistentIndexedCache.put(DefaultMultiProcessSafePersistentIndexedCache.java:67)
16:10:29 at org.gradle.cache.internal.AsyncCacheAccessDecoratedCache.lambda$putLater$1(AsyncCacheAccessDecoratedCache.java:56)
16:10:29 at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:64)
16:10:29 at org.gradle.cache.internal.CacheAccessWorker$2.run(CacheAccessWorker.java:185)
16:10:29 at org.gradle.internal.Factories$1.create(Factories.java:31)
16:10:29 at org.gradle.cache.internal.DefaultCacheAccess.useCache(DefaultCacheAccess.java:220)
16:10:29 at org.gradle.cache.internal.DefaultCacheAccess.useCache(DefaultCacheAccess.java:201)
16:10:29 at org.gradle.cache.internal.CacheAccessWorker.flushOperations(CacheAccessWorker.java:175)
16:10:29 at org.gradle.cache.internal.CacheAccessWorker.run(CacheAccessWorker.java:145)
16:10:29 at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:64)
16:10:29 at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:48)
16:10:29 at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
16:10:29 at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
16:10:29 at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:56)
16:10:29 at java.base/java.lang.Thread.run(Thread.java:829)rm -r $HOME/.gradle/caches/java.nio.file.NoSuchFileException: /Users/jenkins/.gradle/caches/transforms-3rm -rf ~/.gradlejava.lang.OutOfMemoryError: Java heap spaceJAVA_OPTS="-XX:MaxPermSize=2048M" JAVA_OPTS="-Xmx3072m" 13:42:26 The root cause java.lang.OutOfMemoryError was thrown at: unknown
13:42:26 Java heap space: KtProperty:很久沒碰 linux,基本上還是現學現賣居多
靠著 s / l 大法慢慢 trial & error
主要參考資訊
Pre-upgrade and post-upgrade checks
以前會提供像這樣個表格,讓你看某個版號要怎麼『按部就班』升級到最新版
// incase it doesn't work after upgrade, just restart it
sudo gitlab-ctl restart
// to the newest version
sudo yum install gitlab-ce
基本手順是:
sudo gitlab-rake gitlab:env:info // check version
// another way to check version : https://your.domain.here/api/v4/version
sudo gitlab-rake gitlab:check // upgrade status check
sudo gitlab-rake gitlab:doctor:secrets // upgrade status check
yum --showduplicates list gitlab-ce // list available updatessudo yum install gitlab-ce // update to latest version if you've always up to date
sudo yum install gitlab-ce-15.9.4-ce.0.el7 // update speicific version
//非必要,遇到太久 500 可以使用
sudo gitlab-ctl restart
如果遇到 web service 掛掉,也許可以參考這裡
我在這邊學到 sanitized gitlab.rb
grep -v '^#\|^$' /etc/gitlab.rb
找到之前幫同事嘗試設定 gitlab page 時
參數設定錯了,先 mark 後升級就恢復正常XD
如果遇到系統明明亮紅燈,跟你說要盡快更新
如果直接走安裝最新更新,遇到更新檔有問題是,會吐 502
然後列出更新檔案,看不到最新的版號
升級後遇到這兩個,通常等一兩分 or restart service 會好,
如果沒有... 就檢查 gitlab.rb 看哪邊怪怪的XD
升級成功的時候會有個小圖案,在 terminal 裡面看到這個很像過關動畫,很開心XD