tag:crieit.net,2005:https://crieit.net/users/AmatsukiUrato/feed
matsu4kiの投稿 - Crieit
Crieitでユーザーmatsu4kiによる最近の投稿
2020-04-04T15:57:22+09:00
https://crieit.net/users/AmatsukiUrato/feed
tag:crieit.net,2005:PublicArticle/15810
2020-04-04T10:47:33+09:00
2020-04-04T15:57:22+09:00
https://crieit.net/posts/github-actions-build-lastmod
hugoをgithub-actions上でbuildした際、lastmodの更新がすべての記事に適用される問題を解決した
<h2 id="はじめに"><a href="#%E3%81%AF%E3%81%98%E3%82%81%E3%81%AB">はじめに</a></h2>
<p><a target="_blank" rel="nofollow noopener" href="https://tech-wafter.net/2020/build-hugo-homepage-by-github-action/">hugoのジェネレートをGitHub-actionsを使って、pushするだけでデプロイできるようにした</a>のですが、全記事の最終更新日が更新されていたため原因調査をおこないました。</p>
<h2 id="TL;DR"><a href="#TL%3BDR">TL;DR</a></h2>
<ul>
<li>gitのcloneを行う際に最新コミットしか取得していなかった</li>
<li><code>actions/checkout</code>を利用する場合は以下の方法でfetchを行わせ、全履歴を取得しておく</li>
</ul>
<pre><code class="yaml">- uses: actions/checkout@v2
with:
fetch-depth: 0 # Fetch all history for .GitInfo and .
</code></pre>
<h2 id="試したこと"><a href="#%E8%A9%A6%E3%81%97%E3%81%9F%E3%81%93%E3%81%A8">試したこと</a></h2>
<h3 id="GitHub-actions上とlocalの比較"><a href="#GitHub-actions%E4%B8%8A%E3%81%A8local%E3%81%AE%E6%AF%94%E8%BC%83">GitHub-actions上とlocalの比較</a></h3>
<div class="table-responsive"><table>
<thead>
<tr>
<th align="center">icon</th>
<th align="center">結果</th>
</tr>
</thead>
<tbody>
<tr>
<td align="center">✅</td>
<td align="center">更新対象記事のみlastmodが更新されていた</td>
</tr>
<tr>
<td align="center">❎</td>
<td align="center">すべての記事に対して更新が入っていた</td>
</tr>
</tbody>
</table></div>
<ul>
<li>ローカル
<ul>
<li>✅MacOSでのビルド</li>
<li>✅Vagrant内のUbuntu:18.04.4でのビルド</li>
</ul></li>
<li><p>CI環境</p>
<ul>
<li>❎Ubuntu:ubuntu-18.04でのビルド</li>
<li>❎MacOS:latestでのビルド</li>
<li>✅hugoのビルドを省いてデプロイ</li>
<li>❎オプションを外してビルド</li>
<li><p>❎既存のworkflowを使わずにコマンドでインストール(下記コマンドを実行)</p>
<pre><code class="bash">wget https://github.com/gohugoio/hugo/releases/download/v0.68.3/hugo_0.68.3_Linux-64bit.deb
sudo apt-get install -y ./hugo_0.68.3_Linux-64bit.deb
</code></pre></li>
</ul></li>
</ul>
<h3 id="git周りの確認"><a href="#git%E5%91%A8%E3%82%8A%E3%81%AE%E7%A2%BA%E8%AA%8D">git周りの確認</a></h3>
<ul>
<li>参照先のcommitIDが対象コミットのcommitIDになっているか
<ul>
<li>対象のコミットIDでした</li>
</ul></li>
<li><code>git log</code>の結果が正常に表示されているか
<ul>
<li><strong>CI上のログでは、1件しか表示されていなかった</strong></li>
</ul></li>
</ul>
<h2 id="結果"><a href="#%E7%B5%90%E6%9E%9C">結果</a></h2>
<p><code>actions/checkout@v2</code>という公式のworkflowを利用してgitのcloneを行っていたのですが、デフォルトでは最新のコミットしか取ってこないようです。<br />
更新日時の参照先が見つけられなくなるため、すべての記事が最新のコミット更新日時を取得しに行ってしまったのだと思います。</p>
<blockquote>
<pre><code class="markdown"># Number of commits to fetch. 0 indicates all history.
# Default: 1
fetch-depth: ''
</code></pre>
<p>https://github.com/actions/checkout#usage</p>
</blockquote>
<p>すべての履歴をcloneしてくることで、解決しました。<br />
GitHub Actionsのymlファイルでは、以下のように記載するようです。</p>
<blockquote>
<pre><code class="yaml">- uses: actions/checkout@v2
with:
fetch-depth: 0 # Fetch all history for .GitInfo and .
</code></pre>
<p>https://github.com/peaceiris/actions-hugo#️-create-your-workflow</p>
</blockquote>
<h2 id="さいごに"><a href="#%E3%81%95%E3%81%84%E3%81%94%E3%81%AB">さいごに</a></h2>
<p>最初はhugoのセットアップに使っているworkflowが悪いのかを疑ってたせいで、結構解決までに時間がかかりました…</p>
<p>今回のような問題を早期発見するために、確認用のStepも入れたほうが良いのかなと思いました。</p>
<h2 id="参考"><a href="#%E5%8F%82%E8%80%83">参考</a></h2>
<ul>
<li><a target="_blank" rel="nofollow noopener" href="https://github.com/actions/checkout">actions/checkout: Action for checking out a repo</a></li>
<li><a target="_blank" rel="nofollow noopener" href="https://github.com/peaceiris/actions-hugo">peaceiris/actions-hugo: GitHub Actions for Hugo ⚡️ Setup Hugo quickly and build your site fast. Hugo extended, Hugo Modules, Linux (Ubuntu), macOS, and Windows are supported.</a></li>
</ul>
matsu4ki
tag:crieit.net,2005:PublicArticle/15556
2019-11-19T22:46:45+09:00
2020-04-04T11:13:43+09:00
https://crieit.net/posts/VSCode-14-3
使ってよかったVSCode拡張機能14選+3選の紹介
<h1 id="一軍"><a href="#%E4%B8%80%E8%BB%8D">一軍</a></h1>
<p>この枠で紹介している拡張機能は、高い汎用性を持っており私自身も良く使っている拡張機能たちです。</p>
<h2 id="Settings Sync♻️"><a href="#Settings+Sync%E2%99%BB%EF%B8%8F">Settings Sync♻️</a></h2>
<p>VS Codeの拡張機能を移行する場合や、バックアップするときに大活躍!<br />
とりあえず入れとけスタイルでオッケーな拡張機能。<br />
かったるい移行作業をめちゃくちゃ楽にしてくれる。端末が壊れても安心だし、真っ先に入れても良い拡張機能かも。自分で管理しても良いけどね。</p>
<p><a target="_blank" rel="nofollow noopener" href="https://marketplace.visualstudio.com/items?itemName=Shan.code-settings-sync">Download Page</a></p>
<h2 id="テキスト校正くん👨🎓"><a href="#%E3%83%86%E3%82%AD%E3%82%B9%E3%83%88%E6%A0%A1%E6%AD%A3%E3%81%8F%E3%82%93%F0%9F%91%A8%E2%80%8D%F0%9F%8E%93">テキスト校正くん👨🎓</a></h2>
<p>VS Code上にあるテキストを自動で添削してくれるスグレモノ。<br />
どこかに議事録やまとめた文章を提出する前に少し確認するだけで、最低限の日本語は担保されるところが良い😚</p>
<p><a target="_blank" rel="nofollow noopener" href="https://marketplace.visualstudio.com/items?itemName=ICS.japanese-proofreading">Download Page</a></p>
<h2 id="Code Spell Checker👨🏫"><a href="#Code+Spell+Checker%F0%9F%91%A8%E2%80%8D%F0%9F%8F%AB">Code Spell Checker👨🏫</a></h2>
<p>テキスト修正の英語版。間違ったスペルを教えてくれる。これでtypoが結構減ると思います。英語が苦手なあなたでも安心(俺やんけ)。<br />
固有名詞もユーザ辞書登録すれば、エラー回避できるので便利。</p>
<p><a target="_blank" rel="nofollow noopener" href="https://marketplace.visualstudio.com/items?itemName=streetsidesoftware.code-spell-checker">Download Page</a></p>
<h2 id="Trailing Spaces✨"><a href="#Trailing+Spaces%E2%9C%A8">Trailing Spaces✨</a></h2>
<p>こいつをいれてから、文章の後ろにムダなスペースを入れることはなくなった。<br />
赤色で視覚的も見やすくGood(色は変更可能)。ただし、Markdown書くときの改行はちょっと気になる。</p>
<p><a target="_blank" rel="nofollow noopener" href="https://marketplace.visualstudio.com/items?itemName=shardulm94.trailing-spaces">Download Page</a></p>
<h2 id="indent-rainbow🌈"><a href="#indent-rainbow%F0%9F%8C%88">indent-rainbow🌈</a></h2>
<p>その名の通り、インデントに色を付けてくれる拡張機能。<br />
パット見でどこのラインを編集しているのかがわかるので、非常に便利。ネストが深くなっても安心😇(だからといって深くするのはやめてくれ…)</p>
<p><a target="_blank" rel="nofollow noopener" href="https://marketplace.visualstudio.com/items?itemName=oderwat.indent-rainbow">Download Page</a></p>
<h2 id="Bracket Pair Colorizer🌈"><a href="#Bracket+Pair+Colorizer%F0%9F%8C%88">Bracket Pair Colorizer🌈</a></h2>
<p>ペアの括弧同士が同じ色になるので、どこで始まってどこで終わるのかがわかりやすい。<br />
<code>python</code>などのインデントがプログラムの仕組みに組み込まれているものなら<code>indent-rainbow</code>だけで問題ないのですが、変なインデントが大量にある闇プロジェクトではこちらが大活躍します。普通に使ってても十分に便利なんですけどね。<br />
後は完全な独断と偏見なのですが、関数型言語にはあったほうが良いと思われます(括弧がいっぱいあるから)。</p>
<p><a target="_blank" rel="nofollow noopener" href="https://marketplace.visualstudio.com/items?itemName=formulahendry.code-runner">Download Page</a></p>
<h2 id="Visual Studio IntelliCode💡"><a href="#Visual+Studio+IntelliCode%F0%9F%92%A1">Visual Studio IntelliCode💡</a></h2>
<p>勝手に候補の中から、一番いい感じのやつを選択してくれるやつ。<br />
あんまり意識したことはないけど、便利に使えているということは役に立っていると思われ</p>
<p><a target="_blank" rel="nofollow noopener" href="https://marketplace.visualstudio.com/items?itemName=VisualStudioExptTeam.vscodeintellicode">Download Page</a></p>
<h2 id="vscode-icons🏷"><a href="#vscode-icons%F0%9F%8F%B7">vscode-icons🏷</a></h2>
<p>多分定番の拡張機能。さまざまなiconが視覚的にわかりやすく表示されるようになる。<br />
個人的には、フォルダーの識別とかが好き。</p>
<p><a target="_blank" rel="nofollow noopener" href="https://marketplace.visualstudio.com/items?itemName=vscode-icons-team.vscode-icons">Download Page</a></p>
<h2 id="Markdown Preview Enhanced🔍"><a href="#Markdown+Preview+Enhanced%F0%9F%94%8D">Markdown Preview Enhanced🔍</a></h2>
<p>Markdown Previewの拡張版。PlantUmlが使えたり、<code>pdf</code>化や<code>html</code>化が行えるようになっていたりと、<br />
大幅に拡張されている。とりあえず入れておきたい拡張機能の1つ。</p>
<p><a target="_blank" rel="nofollow noopener" href="https://marketplace.visualstudio.com/items?itemName=shd101wyy.markdown-preview-enhanced">Download Page</a></p>
<h2 id="Marp for VS Code🎨"><a href="#Marp+for+VS+Code%F0%9F%8E%A8">Marp for VS Code🎨</a></h2>
<p>MarkdownToSlideの決定版。<br />
Chromeのパスを指定してあげることで、<code>pdf</code>や<code>pptx</code>などのスライドへVS Code上から変換できる。<br />
Marp CLIもいいけど、ぱっと簡単に使うならこっち。<br />
ちなみに、MacのChromeパスは<code>/Applications/Google\ Chrome.app/</code>で設定すればおkなはず。</p>
<p><a target="_blank" rel="nofollow noopener" href="https://marketplace.visualstudio.com/items?itemName=marp-team.marp-vscode">Download Page</a></p>
<h2 id="Live Server🐟"><a href="#Live+Server%F0%9F%90%9F">Live Server🐟</a></h2>
<p>ワンクリックで、現在のディレクトリを元にしたローカルサーバを建てられるスグレモノ。<br />
ローカルで何か確認したいときがあればこちらをどうぞ。</p>
<p><a target="_blank" rel="nofollow noopener" href="https://marketplace.visualstudio.com/items?itemName=ritwickdey.LiveServer">Download Page</a></p>
<h2 id="GitLens — Git supercharged🥽"><a href="#GitLens+%E2%80%94+Git+supercharged%F0%9F%A5%BD">GitLens — Git supercharged🥽</a></h2>
<p>その名の通り、<code>git</code>をめちゃくちゃ便利にしてくれる拡張機能です。<br />
行の右にコミットが表示されたり、過去の履歴を表示させたりと<code>git</code>のことならこいつにおまかせ感がある。</p>
<p><a target="_blank" rel="nofollow noopener" href="https://marketplace.visualstudio.com/items?itemName=eamodio.gitlens">Download Page</a></p>
<h2 id="Code Runner🏃♂️"><a href="#Code+Runner%F0%9F%8F%83%E2%80%8D%E2%99%82%EF%B8%8F">Code Runner🏃♂️</a></h2>
<p>ちょっとコードを動作させたいときにとても便利です。<br />
さまざまな言語に対応しているみたいなので、結構好きな言語でショートコードの確認ができたりする。</p>
<p><a target="_blank" rel="nofollow noopener" href="https://marketplace.visualstudio.com/items?itemName=formulahendry.code-runner">Download Page</a></p>
<h2 id="TODO Highlight💡"><a href="#TODO+Highlight%F0%9F%92%A1">TODO Highlight💡</a></h2>
<p><code>TODO:</code>や<code>FIXME:</code>などがデフォルトで設定されていますが、<code>NOTE:</code>や<code>DONE:</code>など、自身のオリジナルタグを追加することで色々な用途に利用可能です!<br />
自分はメモとかにも利用しています。</p>
<p><a target="_blank" rel="nofollow noopener" href="https://marketplace.visualstudio.com/items?itemName=wayou.vscode-todo-highlight">Download Page</a></p>
<h1 id="二軍"><a href="#%E4%BA%8C%E8%BB%8D">二軍</a></h1>
<p>そこまで頻繁に使わないものや、少し尖ったもの。</p>
<h2 id="vscode-spotify🎵"><a href="#vscode-spotify%F0%9F%8E%B5">vscode-spotify🎵</a></h2>
<p>下のバーにSpotifyの情報が表示される。<br />
音楽聴きながら作業していると、地味に画面移動をするシーンが多いのでVS Code1つで収まるのは便利。</p>
<p><a target="_blank" rel="nofollow noopener" href="https://marketplace.visualstudio.com/items?itemName=shyykoserhiy.vscode-spotify">Download Page</a></p>
<h2 id="Better Comments📝"><a href="#Better+Comments%F0%9F%93%9D">Better Comments📝</a></h2>
<p>特定のコメント文字列(TODO、!、?など)に対して、色を付けてくれる拡張機能です。</p>
<p><a target="_blank" rel="nofollow noopener" href="https://marketplace.visualstudio.com/items?itemName=aaron-bond.better-comments">Download Page</a></p>
<h2 id="filesize📁"><a href="#filesize%F0%9F%93%81">filesize📁</a></h2>
<p>左下にファイルのサイズを表示するだけのアプリ。たまに便利。</p>
<p><a target="_blank" rel="nofollow noopener" href="https://marketplace.visualstudio.com/items?itemName=mkxml.vscode-filesize">Download Page</a></p>
matsu4ki